ZooKeeper:分布式过程协同技术详解

ZooKeeper:分布式过程协同技术详解
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 机械工业出版社
2016-02
版次: 1
ISBN: 9787111524311
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 209页
字数: 170千字
正文语种: 简体中文
原版书名: ZooKeeper: Distributed Process Coordination
  •   本书分三部分,共10章。第一部分(第1~2章)阐述ApacheZooKeeper这类系统的设计目的和动机,并介绍分布式系统的一些必要背景知识。第1章介绍ZooKeeper可以做什么,以及其设计如何支撑这些任务。第2章介绍基本概念和基本组成模块,并通过命令行工具的具体操作介绍了ZooKeeper可以做什么。第二部分(第3~8章)阐述开发人员所需要掌握的ZooKeeper库调用方法和编程技巧。第3章介绍Java语言的API.第4章解释如何跟踪和处理ZooKeeper中的状态变更情况。第5章介绍如何在系统或网络故障时恢复应用。第6章介绍需要注意来避免故障的一些繁杂却很重要的场景。第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及如何运行ZooKeeper.第9章介绍ZooKeeper的作者们在设计时所采用的方案。第10章介绍如何对ZooKeeper进行配置。   FlavioJunqueira,是微软研究院在英国剑桥大学的研究人员之一。他拥有美国加州大学圣地亚哥分校计算机科学博士学位。他的研究范围涉及分布式系统的各个方面,包括分布式算法、并发性和可扩展性。他是Apache项目如ApacheZooKeeper(PMC主席和提交者)和ApacheBookKeeper(提交者)的积极贡献者。他一有空就喜欢睡觉。  BenjaminReed,是一位负责Facebook中所有细节工作的软件工程师。他以前的职位包括雅虎研究院首席研究科学家(负责所有大的方向)和IBMAlmadenResearch的研究人员(负责所有事情,无论大小)。他拥有加州大学圣克鲁斯分校计算机科学博士学位。他从事的工作涉及分布式计算、大数据处理、分布式存储、系统管理和嵌入式框架等领域。他参加了各种开源项目,如Hadoop和Linux操作系统等。他帮助启动了由Apache软件基金会主办的项目如Pig、ZooKeeper和BookKeeper。 前言 1第一部分 ZooKeeper的概念和基础第1章 简介 71.1 ZooKeeper的使命 81.1.1 ZooKeeper改变了什么 101.1.2 ZooKeeper不适用的场景 101.1.3 关于Apache项目 111.1.4 通过ZooKeeper构建分布式系统 111.2 示例:主-从应用 121.2.1 主节点失效 131.2.2 从节点失效 141.2.3 通信故障 141.2.4 任务总结 151.3 分布式协作的难点 161.4 ZooKeeper的成功和注意事项 18第2章 了解ZooKeeper 192.1 ZooKeeper基础 192.1.1 API概述 202.1.2 znode的不同类型 212.1.3 监视与通知 222.1.4 版本 242.2 ZooKeeper架构 252.2.1 ZooKeeper仲裁 262.2.2 会话 272.3 开始使用ZooKeeper 282.3.1 第一个ZooKeeper会话 282.3.2 会话的状态和声明周期 312.3.3 ZooKeeper与仲裁模式 332.3.4 实现一个原语:通过ZooKeeper实现锁 362.4 一个主-从模式例子的实现 372.4.1 主节点角色 372.4.2 从节点、任务和分配 402.4.3 从节点角色 402.4.4 客户端角色 412.5 小结 43第二部分 使用ZooKeeper进行开发第3章 开始使用ZooKeeper的API 473.1 设置ZooKeeper的CLASSPATH 473.2 建立ZooKeeper会话 473.2.1 实现一个Watcher 493.2.2 运行Watcher的示例 513.3 获取管理权 533.3.1 异步获取管理权 573.3.2 设置元数据 603.4 注册从节点 623.5 任务队列化 653.6 管理客户端 663.7 小结 68第4章 处理状态变化 704.1 单次触发器 714.2 如何设置监视点 724.3 普遍模型 734.4 主-从模式的例子 744.4.1 管理权变化 744.4.2 主节点等待从节点列表的变化 774.4.3 主节点等待新任务进行分配 804.4.4 从节点等待分配新任务 834.4.5 客户端等待任务的执行结果 864.5 另一种调用方式:Multiop 884.6 通过监视点代替显式缓存管理 904.7 顺序的保障 914.7.1 写操作的顺序 914.7.2 读操作的顺序 914.7.3 通知的顺序 924.8 监视点的羊群效应和可扩展性 934.9 小结 94第5章 故障处理 965.1 可恢复的故障 985.2 不可恢复的故障 1025.3 群首选举和外部资源 1035.4 小结 106第6章 ZooKeeper注意事项 1076.1 使用ACL 1076.1.1 内置的鉴权模式 1086.1.2 SASL和Kerberos 1116.1.3 增加新鉴权模式 1116.2 恢复会话 1116.3 当znode节点重新创建时,重置版本号 1126.4 sync方法 1126.5 顺序性保障 1146.5.1连接丢失时的顺序性 1146.5.2 同步API和多线程的顺序性 1156.5.3 同步和异步混合调用的顺序性 1156.6 数据字段和子节点的限制 1166.7 嵌入式ZooKeeper服务器 1166.8 小结 117第7章 C语言客户端 1187.1 配置开发环境 1187.2 开始会话 1197.3 引导主节点 1217.4 行使管理权 1267.5 任务分配 1297.6 单线程与多线程客户端 1327.7 小结 135第8章 Curator:ZooKeeper API的高级封装库 1368.1 Curator客户端程序 1368.2 流畅式API 1378.3 监听器 1388.4 Curator中状态的转换 1408.5 两种边界情况 1418.6 菜谱 1418.6.1 群首闩 1428.6.2 群首选举器 1438.6.3 子节点缓存器 1468.7 小结 148第三部分 ZooKeeper的管理第9章 ZooKeeper内部原理 1519.1 请求、事务和标识符 1529.2 群首选举 1539.3 Zab:状态更新的广播协议 1579.4 观察者 1619.5 服务器的构成 1629.5.1 独立服务器 1639.5.2 群首服务器 1649.5.3 追随者和观察者服务器 1659.6 本地存储 1669.6.1 日志和磁盘的使用 1669.6.2 快照 1679.7 服务器与会话 1699.8 服务器与监视点 1709.9 客户端 1709.10 序列化 1719.11 小结 171第10章 运行ZooKeeper 17310.1 配置ZooKeeper服务器 17410.1.1 基本配置 17510.1.2 存储配置 17510.1.3 网络配置 17710.1.4 集群配置 17910.1.5 认证和授权选项 18110.1.6 非安全配置 18210.1.7 日志 18310.1.8 专用资源 18510.2 配置ZooKeeper集群 18510.2.1 多数原则 18610.2.2 法定人数的可配置性 18610.2.3 观察者 18810.3 重配置 18810.4 配额管理 19410.5 多租赁配置 19610.6 文件系统布局和格式 19710.6.1 事务日志 19810.6.2 快照 19910.6.3 时间戳文件 20010.6.4 已保存的ZooKeeper数据的应用 20010.7 四字母命令 20110.8 通过JMX进行监控 20210.9 工具 20910.10 小结 209
  • 内容简介:
      本书分三部分,共10章。第一部分(第1~2章)阐述ApacheZooKeeper这类系统的设计目的和动机,并介绍分布式系统的一些必要背景知识。第1章介绍ZooKeeper可以做什么,以及其设计如何支撑这些任务。第2章介绍基本概念和基本组成模块,并通过命令行工具的具体操作介绍了ZooKeeper可以做什么。第二部分(第3~8章)阐述开发人员所需要掌握的ZooKeeper库调用方法和编程技巧。第3章介绍Java语言的API.第4章解释如何跟踪和处理ZooKeeper中的状态变更情况。第5章介绍如何在系统或网络故障时恢复应用。第6章介绍需要注意来避免故障的一些繁杂却很重要的场景。第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及如何运行ZooKeeper.第9章介绍ZooKeeper的作者们在设计时所采用的方案。第10章介绍如何对ZooKeeper进行配置。
  • 作者简介:
      FlavioJunqueira,是微软研究院在英国剑桥大学的研究人员之一。他拥有美国加州大学圣地亚哥分校计算机科学博士学位。他的研究范围涉及分布式系统的各个方面,包括分布式算法、并发性和可扩展性。他是Apache项目如ApacheZooKeeper(PMC主席和提交者)和ApacheBookKeeper(提交者)的积极贡献者。他一有空就喜欢睡觉。  BenjaminReed,是一位负责Facebook中所有细节工作的软件工程师。他以前的职位包括雅虎研究院首席研究科学家(负责所有大的方向)和IBMAlmadenResearch的研究人员(负责所有事情,无论大小)。他拥有加州大学圣克鲁斯分校计算机科学博士学位。他从事的工作涉及分布式计算、大数据处理、分布式存储、系统管理和嵌入式框架等领域。他参加了各种开源项目,如Hadoop和Linux操作系统等。他帮助启动了由Apache软件基金会主办的项目如Pig、ZooKeeper和BookKeeper。
  • 目录:
    前言 1第一部分 ZooKeeper的概念和基础第1章 简介 71.1 ZooKeeper的使命 81.1.1 ZooKeeper改变了什么 101.1.2 ZooKeeper不适用的场景 101.1.3 关于Apache项目 111.1.4 通过ZooKeeper构建分布式系统 111.2 示例:主-从应用 121.2.1 主节点失效 131.2.2 从节点失效 141.2.3 通信故障 141.2.4 任务总结 151.3 分布式协作的难点 161.4 ZooKeeper的成功和注意事项 18第2章 了解ZooKeeper 192.1 ZooKeeper基础 192.1.1 API概述 202.1.2 znode的不同类型 212.1.3 监视与通知 222.1.4 版本 242.2 ZooKeeper架构 252.2.1 ZooKeeper仲裁 262.2.2 会话 272.3 开始使用ZooKeeper 282.3.1 第一个ZooKeeper会话 282.3.2 会话的状态和声明周期 312.3.3 ZooKeeper与仲裁模式 332.3.4 实现一个原语:通过ZooKeeper实现锁 362.4 一个主-从模式例子的实现 372.4.1 主节点角色 372.4.2 从节点、任务和分配 402.4.3 从节点角色 402.4.4 客户端角色 412.5 小结 43第二部分 使用ZooKeeper进行开发第3章 开始使用ZooKeeper的API 473.1 设置ZooKeeper的CLASSPATH 473.2 建立ZooKeeper会话 473.2.1 实现一个Watcher 493.2.2 运行Watcher的示例 513.3 获取管理权 533.3.1 异步获取管理权 573.3.2 设置元数据 603.4 注册从节点 623.5 任务队列化 653.6 管理客户端 663.7 小结 68第4章 处理状态变化 704.1 单次触发器 714.2 如何设置监视点 724.3 普遍模型 734.4 主-从模式的例子 744.4.1 管理权变化 744.4.2 主节点等待从节点列表的变化 774.4.3 主节点等待新任务进行分配 804.4.4 从节点等待分配新任务 834.4.5 客户端等待任务的执行结果 864.5 另一种调用方式:Multiop 884.6 通过监视点代替显式缓存管理 904.7 顺序的保障 914.7.1 写操作的顺序 914.7.2 读操作的顺序 914.7.3 通知的顺序 924.8 监视点的羊群效应和可扩展性 934.9 小结 94第5章 故障处理 965.1 可恢复的故障 985.2 不可恢复的故障 1025.3 群首选举和外部资源 1035.4 小结 106第6章 ZooKeeper注意事项 1076.1 使用ACL 1076.1.1 内置的鉴权模式 1086.1.2 SASL和Kerberos 1116.1.3 增加新鉴权模式 1116.2 恢复会话 1116.3 当znode节点重新创建时,重置版本号 1126.4 sync方法 1126.5 顺序性保障 1146.5.1连接丢失时的顺序性 1146.5.2 同步API和多线程的顺序性 1156.5.3 同步和异步混合调用的顺序性 1156.6 数据字段和子节点的限制 1166.7 嵌入式ZooKeeper服务器 1166.8 小结 117第7章 C语言客户端 1187.1 配置开发环境 1187.2 开始会话 1197.3 引导主节点 1217.4 行使管理权 1267.5 任务分配 1297.6 单线程与多线程客户端 1327.7 小结 135第8章 Curator:ZooKeeper API的高级封装库 1368.1 Curator客户端程序 1368.2 流畅式API 1378.3 监听器 1388.4 Curator中状态的转换 1408.5 两种边界情况 1418.6 菜谱 1418.6.1 群首闩 1428.6.2 群首选举器 1438.6.3 子节点缓存器 1468.7 小结 148第三部分 ZooKeeper的管理第9章 ZooKeeper内部原理 1519.1 请求、事务和标识符 1529.2 群首选举 1539.3 Zab:状态更新的广播协议 1579.4 观察者 1619.5 服务器的构成 1629.5.1 独立服务器 1639.5.2 群首服务器 1649.5.3 追随者和观察者服务器 1659.6 本地存储 1669.6.1 日志和磁盘的使用 1669.6.2 快照 1679.7 服务器与会话 1699.8 服务器与监视点 1709.9 客户端 1709.10 序列化 1719.11 小结 171第10章 运行ZooKeeper 17310.1 配置ZooKeeper服务器 17410.1.1 基本配置 17510.1.2 存储配置 17510.1.3 网络配置 17710.1.4 集群配置 17910.1.5 认证和授权选项 18110.1.6 非安全配置 18210.1.7 日志 18310.1.8 专用资源 18510.2 配置ZooKeeper集群 18510.2.1 多数原则 18610.2.2 法定人数的可配置性 18610.2.3 观察者 18810.3 重配置 18810.4 配额管理 19410.5 多租赁配置 19610.6 文件系统布局和格式 19710.6.1 事务日志 19810.6.2 快照 19910.6.3 时间戳文件 20010.6.4 已保存的ZooKeeper数据的应用 20010.7 四字母命令 20110.8 通过JMX进行监控 20210.9 工具 20910.10 小结 209
查看详情
好书推荐 / 更多
ZooKeeper:分布式过程协同技术详解
侧看成峰:葛兆光海外学术论著评论集(精)
葛兆光 著
ZooKeeper:分布式过程协同技术详解
病床边的陌生人:法律与生命伦理学塑造医学决策的历史
Rothman 著;[美]戴维·J.罗思曼(David、J.、潘驿炜 译
ZooKeeper:分布式过程协同技术详解
甲骨文丛书·恐惧与自由:第二次世界大战如何改变了我们
基思·罗威(Keith Lowe) 著;朱邦芊 译
ZooKeeper:分布式过程协同技术详解
果麦经典:平面国(数学界的超级文化符号,《三体》二向箔的灵感来源,理解维度概念的绝佳途径。)
鲁冬旭 译者;果麦文化 出品;埃德温·A·艾勃特
ZooKeeper:分布式过程协同技术详解
天生有罪: 特雷弗·诺亚的变色人生(精装珍藏版)
[南非]特雷弗·诺亚 著;董帅 译;未读 出品
ZooKeeper:分布式过程协同技术详解
《末代沙皇:罗曼诺夫王朝的覆灭》(再现末代沙皇的真实面孔与罗曼诺夫王朝的命运终章)
道洛什·久尔吉 著;何剑 译
ZooKeeper:分布式过程协同技术详解
版本与目录
辛德勇
ZooKeeper:分布式过程协同技术详解
生死有时:美国医院如何形塑死亡
[美]莎伦·考夫曼 著 ;初丽岩;王清伟
ZooKeeper:分布式过程协同技术详解
带着花椒去上朝:古杀十九式
马陈兵
ZooKeeper:分布式过程协同技术详解
与自然和谐:低碳社会的环境观
[日]稻盛和夫 著;陈琳珊 译
ZooKeeper:分布式过程协同技术详解
5G机会:5G将带来哪些机会,如何把握?
项立刚 著
ZooKeeper:分布式过程协同技术详解
胆小鬼俱乐部:为什么美国司法部治不了大公司高管
[美]杰西·艾辛格 著;崔松 译