《从PAXOS到ZOOKEEPER分布式一致性原理与实践》pdf

下载地址:网盘下载

内容简介  · · · · · ·

《Paxos到Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。全书共8章,分为五部分:第一部分(第1章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID、CAP和BASE等经典分布式理论;第二部分(第2~4章)介绍了2PC、3PC和Paxos三种分布式一致性协议,并着重讲解了ZooKeeper中使用的一致性协议——ZAB协议;第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运行,并结合真实的分布式应用场景,总结了ZooKeeper使用的最佳实践;第四部分(第7章)对ZooKeeper的架构设计和实现原理进行了深入分析,包含系统模型、Leader选举、客户端与服务端的工作原理、请求处理,以及服务器角色的工作流程和数据存储等;第五部分(第8章)介绍了ZooKeeper的运维实践,包括配置详解和监控管理等,重点讲解了如何构建一个高可用的ZooKeeper服务。

作者简介  · · · · · ·

倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系。2010年加入阿里巴巴中间件团队担任研发实习岗位,一直从事ZooKeeper的开发与运维工作,从中学习与总结了不少分布式一致性相关的理论与实践经验,尤其对ZooKeeper及其相关技术有非常深入的研究。目前在中间件团队专家组任职产品经理,负责分布式产品的产品化和云计算化改造工作。

新浪微博:@ni掌柜

目录  · · · · · ·

第1章分布式架构 1

1.1 从集中式到分布式 1

1.1.1 集中式的特点 2

1.1.2 分布式的特点 2

1.1.3 分布式环境的各种问题 4

1.2 从ACID到CAP/BASE 5

1.2.1 ACID 5

1.2.2 分布式事务 8

1.2.3 CAP和BASE理论 9

小结 15

第2章一致性协议 17

2.1 2PC与3PC 17

2.1.1 2PC 17

2.1.2 3PC 21

2.2 Paxos算法 24

2.2.1 追本溯源 25

2.2.2 Paxos理论的诞生 26

2.2.3 Paxos算法详解 27

小结 37

第3章Paxos的工程实践 39

3.1 Chubby 39

3.1.1 概述 39

3.1.2 应用场景 40

3.1.3 设计目标 40

3.1.4 Chubby技术架构 43

3.1.5 Paxos协议实现 52

3.2 Hypertable 55

3.2.1 概述 55

3.2.2 算法实现 57

小结 58

第4章ZooKeeper与Paxos 59

4.1 初识ZooKeeper 59

4.1.1 ZooKeeper介绍 59

4.1.2 ZooKeeper从何而来 62

4.1.3 ZooKeeper的基本概念 62

4.1.4 为什么选择ZooKeeper 64

4.2 ZooKeeper的ZAB协议 65

4.2.1 ZAB协议 65

4.2.2 协议介绍 66

4.2.3 深入ZAB协议 71

4.2.4 ZAB与Paxos算法的联系与区别 77

小结 78

第5章使用ZooKeeper 79

5.1 部署与运行 79

5.1.1 系统环境 79

5.1.2 集群与单机 80

5.1.3 运行服务 84

5.2 客户端脚本 88

5.2.1 创建 88

5.2.2 读取 89

5.2.3 更新 90

5.2.4 删除 91

5.3 Java客户端API使用 91

5.3.1 创建会话 91

5.3.2 创建节点 95

5.3.3 删除节点 99

5.3.4 读取数据 100

5.3.5 更新数据 109

5.3.6 检测节点是否存在 113

5.3.7 权限控制 115

5.4 开源客户端 120

5.4.1 ZkClient 120

5.4.2 Curator 130

小结 162

第6章ZooKeeper的典型应用场景 163

6.1 典型应用场景及实现注 163

6.1.1 数据发布/订阅 164

6.1.2 负载均衡 166

6.1.3 命名服务 170

6.1.4 分布式协调/通知 173

6.1.5 集群管理 179

6.1.6 Master选举 185

6.1.7 分布式锁 188

6.1.8 分布式队列 194

小结 197

6.2 ZooKeeper在大型分布式系统中的应用 197

6.2.1 Hadoop 198

6.2.2 HBase 203

6.2.3 Kafka 207

6.3 ZooKeeper在阿里巴巴的实践与应用 213

6.3.1 案例一消息中间件:Metamorphosis 213

6.3.2 案例二 RPC服务框架:Dubbo 217

6.3.3 案例三基于MySQL Binlog的增量订阅和消费组件:Canal 219

6.3.4 案例四分布式数据库同步系统:Otter 223

6.3.5 案例五轻量级分布式通用搜索平台:终搜 226

6.3.6 案例六实时计算引擎:JStorm 238

小结 242

第7章ZooKeeper技术内幕 243

7.1 系统模型 243

7.1.1 数据模型 243

7.1.2 节点特性 244

7.1.3 版本——保证分布式数据原子性操作 246

7.1.4 Watcher——数据变更的通知 249

7.1.5 ACL——保障数据的安全 265

7.2 序列化与协议 272

7.2.1 Jute介绍 272

7.2.2 使用Jute进行序列化 273

7.2.3 深入Jute 275

7.2.4 通信协议 277

7.3 客户端 284

7.3.1 一次会话的创建过程 286

7.3.2 服务器地址列表 289

7.3.3 ClientCnxn:网络I/O 295

7.4 会话 298

7.4.1 会话状态 298

7.4.2 会话创建 299

7.4.3 会话管理 304

7.4.4 会话清理 307

7.4.5 重连 309

7.5 服务器启动 311

7.5.1 单机版服务器启动 312

7.5.2 集群版服务器启动 315

7.6 Leader选举 321

7.6.1 Leader选举概述 321

7.6.2 Leader选举的算法分析 323

7.6.3 Leader选举的实现细节 328

7.7 各服务器角色介绍 335

7.7.1 Leader 335

7.7.2 Follower 338

7.7.3 Observer 339

7.7.4 集群间消息通信 339

7.8 请求处理 342

7.8.1 会话创建请求 343

7.8.2 SetData请求 351

7.8.3 事务请求转发 354

7.8.4 GetData请求 355

7.9 数据与存储 356

7.9.1 内存数据 356

7.9.2 事务日志 358

7.9.3 snapshot——数据快照 364

7.9.4 初始化 368

7.9.5 数据同步 372

小结 376

第8章ZooKeeper运维 379

8.1 配置详解 379

8.1.1 基本配置 379

8.1.2 高级配置 380

8.2 四字命令 384

8.3 JMX 390

8.3.1 开启远程JMX 390

8.3.2 通过JConsole连接ZooKeeper 391

8.4 监控 397

8.4.1 实时监控 397

8.4.2 数据统计 398

8.5 构建一个高可用的集群 398

8.5.1 集群组成 398

8.5.2 容灾 399

8.5.3 扩容与缩容 402

8.6 日常运维 402

8.6.1 数据与日志管理 402

8.6.2 Too many connections 404

8.6.3 磁盘管理 405

小结 405

附录AWindows平台上部署ZooKeeper 406

附录B从源代码开始构建 409

附录C各发行版本重大更新记录 414

附录DZooKeeper源代码阅读指引 418

下载地址:网盘下载

时间: 2024-08-05 03:49:27

《从PAXOS到ZOOKEEPER分布式一致性原理与实践》pdf的相关文章

Django基础教程.pdf PDF分享

图灵官方图书: 完整PDF.文字版.非扫描版,字迹清晰,目录完整.体积小.无任何广告. 获取资源 原文地址:https://www.cnblogs.com/nexts/p/11700835.html

电子书 html5与css3基础教程第8版.pdf

内容简介 <HTML5与CSS3基础教程(第8版)>自第1版至今,一直是讲解HTML和CSS入门知识的经典畅销书,全面系统地阐述HTML5和CSS3基础知识以及实际运用技术,通过大量实例深入浅出地分析了网页制作的方方面面.全新第8版不仅介绍了文本.图像.链接.列表.表格.表单等网页元素,还介绍了如何为网页设计布局.添加动态效果等,另外还涉及调试和发布. <HTML5与CSS3基础教程(第8版)>提供了一个强大的配套网站,上面列出了书中的完整代码示例以及更多优秀实例及进阶参考资料,以

分享《Python基础教程(第3版)》(高清中文版PDF+高清英文版PDF+源代码)

下载:https://pan.baidu.com/s/112w57moG7UGLuLzKomYuAA <Python基础教程(第3版)>(高清中文版PDF+高清英文版PDF+源代码) 高清中文版PDF,482页,带目录和书签,能够复制粘贴:高清英文版PDF,544页,带目录和书签,能够复制粘贴:中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 其中高清中文版如图 原文地址:http://blog.51cto.com/4820691/2311136

分享《机器学习基础教程》中文PDF+英文PDF

下载:https://pan.baidu.com/s/1Yr0sP96vxlhYPgE9CcZqCA 更多资料分享:http://blog.51cto.com/3215120 <机器学习基础教程>中文PDF+英文PDF中文PDF,带目录和书签:英文PDF,文字可以复制粘贴:两版可以对比学习.本书是一本机器学习入门教程,包含了数学和统计学的核心技术,用于帮助理解一些常用的机器学习算法.书中展示的算法涵盖了机器学习的各个重要领域:分类.聚类和投影.本书对一小部分算法进行了详细描述和推导,而不是简单

分享《Python数据分析基础教程:NumPy学习指南(第2版)》高清中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1YSD97Gd3gmmPmNkvuG0eew更多资料分享:http://blog.51cto.com/3215120 <Python数据分析基础教程:NumPy学习指南(第2版)>高清中文PDF+高清英文PDF+源代码 高清中文版PDF,249页,带目录和书签,文字能够复制粘贴:高清英文版PDF,310页,带目录和书签,文字能够复制粘贴:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:其中高清中文版如图: 原文地址:http://

《Python机器学习基础教程》高清中文版PDF+高清英文版PDF+源代码

资源链接:https://pan.baidu.com/s/1sa64QTsQ7A5WlZxMuNmYHg<Python机器学习基础教程>高清中文版PDF+高清英文版PDF+源代码高清中文版PDF,306页,带目录和书签,文字能够复制粘贴:高清英文版PDF,392页,带目录和书签,彩色配图,文字能够复制粘贴:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:其中,高清中文版如图: 原文地址:http://blog.51cto.com/14063572/2317004

分享《机器学习基础教程》+PDF+Simon Rogers Mark Cirolami+国茂祖

下载:https://pan.baidu.com/s/1AF0QdVgMTInkAAdI9FwyUw 更多资料分享:http://blog.51cto.com/14087171 <机器学习基础教程>中文PDF+英文PDF中文PDF,带目录和书签:英文PDF,文字可以复制粘贴:两版可以对比学习.本书是一本机器学习入门教程,包含了数学和统计学的核心技术,用于帮助理解一些常用的机器学习算法.书中展示的算法涵盖了机器学习的各个重要领域:分类.聚类和投影.本书对一小部分算法进行了详细描述和推导,而不是简

《Python基础教程第3版》PDF中英文+代码资料分享学习

<Python基础教程第3版>包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句:然后循序渐进地介绍了一些相对高级的主题,包括抽象.异常.魔法方法.属性.迭代器:此后探讨了如何将Python与数据库.网络.C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试.打包.发布等知识:最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的P

如何编辑PDF文件?PDF编辑的基础教程

如何编辑PDF呢?其实大多数人都不知道该如何下手,部分人会选择将PDF文件转换成Word然后进行编辑,其实这种方法比较麻烦,大大拉低了我们的工作效率.如果想要提高工作效率更加快速的编辑PDF文件,就可以选择迅捷PDF编辑器来完成,下面我们就一起来揭晓PDF文件编辑的奥秘!使用软件:PDF编辑器http://bianji.xjpdf.com/软件介绍:迅捷PDF编辑器是一款专业的pdf编辑软件.支持对PDF文件内容进行添加.修改.绘图.标注等操作.是pdf编辑器中功能较全.效果较好的一款中文版PD

Arduino基础入门套件教程PDF

Arduino基础入门套件教程PDF:上期分享了<Arduino+Android互动智作:初入物联网>高清书签中文版,这期分享<Arduino基础入门套件教程PDF>都是在闯客网技术论坛可以免费下载的,更多的物联网,MTK,嵌入式,单片机等最新资料,毕业设计,项目案例,电路分析的等应有尽有,学到你怕,够胆的就进裙交流学习:613377058此文档下载地址:https://bbs.usoftchina.com/thread-210867-1-1.html 目录内容:什么是Arduin