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:分布式过程协同技术详解
现代性的性别守望者·镜与灯
[美]芮塔·菲尔斯基(Rita Felski) 著
ZooKeeper:分布式过程协同技术详解
世纪三书·世纪的诞生:中国革命与政治的逻辑(20世纪的中国第一部)
汪晖 著
ZooKeeper:分布式过程协同技术详解
复眼的映像
桥本忍
ZooKeeper:分布式过程协同技术详解
别再问我什么是嘻哈①
大和田俊之 著;耳田 译;[日]长谷川町藏
ZooKeeper:分布式过程协同技术详解
理性与神秘
[法]阿尔贝·加缪 著;叶仁杰 译;朱佳琪
ZooKeeper:分布式过程协同技术详解
荒诞的幽灵:现代虚无主义的根源与批判
[美]唐纳德·A.克罗斯比(Donald A. Crosby)
ZooKeeper:分布式过程协同技术详解
生存还是毁灭:人生终极困境的坦率指南
[南非]大卫·贝纳塔
ZooKeeper:分布式过程协同技术详解
不正义的多重面孔
[美]朱迪丝·N·施克莱 著;钱一栋 译
ZooKeeper:分布式过程协同技术详解
卡利普索(美式幽默作家之王,全球累计销量破千万册!)
[美]大卫·塞达里斯 著
ZooKeeper:分布式过程协同技术详解
未来生活简史:科技如何塑造未来(《未来简史》作者尤瓦尔·赫拉利重磅推荐)
[以色列]罗伊·泽扎纳 著;寇莹莹 译
ZooKeeper:分布式过程协同技术详解
宇宙的起源:一本人人读得懂的宇宙学科普读物,为你揭晓宇宙起源之谜!
[英]约翰·巴罗 著;黄静 译;湛庐文化 出品