《分布式一致性算法开发实战》

《分布式一致性算法开发实战》

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

1.系统:选举、日志和多个高级主题逐步深入讲解。

2.详尽:通过3万行源码和测试,详细分析设计细节及实现难点。

3.生产级:基于Netty的生产级异步IO实现。

4.完整:包含交互式客户端的简易分布式KV服务。

内容简介

  从介绍分布式一致性算法开始,分析了Raft算法以及Raft算法所依赖的理论,在此基础上讲解并实现了Raft算法以及基于Raft算法的KV服务。通过本书,可以深入了解Raft算法的运行机制,也可以学到如何相对正确地实现Raft。

  《分布式一致性算法开发实战》分为11章,第1章简单介绍分布式一致性算法,第2章详细分析Raft算法,第3章在第2章的基础上进行整体设计,第4~8章逐个讲解基于Raft算法的KV服务的各个组件的实现,第9章讲解日志快照,第10章是生产环境必需的服务器成员变更功能,第11章介绍一些相关的Raft算法优化。

  本书详细介绍了Raft的核心算法、服务器成员变更以及各种优化的实现,适合那些想尝试实现Raft算法或者在生产环境加入Raft算法的人,也适合那些对于Raft算法有兴趣的读者。

作者简介

  赵辰,男,1989年生于上海,软件工程师。曾在蚂蚁金服工作四年,擅长基于Java语言的后端开发,对Java语言下的多线程编程、分布式计算、多核编程有深入研究。

章节目录

第1章 分布式一致性与共识算法简介 /1

1.1 CAP定理 /2

1.2 共识算法 /3

1.3 本章小结 /6

第2章 Raft核心算法分析 /7

2.1 不考虑分布式一致性的集群 /8

2.2 日志状态机模型 /8

2.3 基于Quorum机制的写入 /9

2.4 基于日志比较的选举 /10

2.5 Raft算法中的选举 /13

2.6 Raft算法中的日志复制 /18

2.7 Raft算法中的一些细节问题 /21

2.8 本章小结 /25

第3章 整体设计 /27

3.1 设计目标 /28

3.2 设计和实现顺序 /29

3.3 参考实现 /29

3.4 状态数据分析 /30

3.5 静态数据分析 /32

3.6 集群成员与映射表 /34

3.7 组件分析 /38

3.8 如何解耦组件间的双向调用关系 /39

3.9 线程模型分析 /43

3.10 项目准备 /48

3.11 本章小结 /56

第4章 选举实现 /58

4.1 角色建模 /59

4.2 定时器组件 /63

4.3 消息建模 /67

4.4 关联组件和工具 /70

4.5 一致性(核心)组件 /78

4.6 测试 /91

4.7 本章小结 /103

第5章 日志实现 /104

5.1 日志实现要求 /105

5.2 日志实现分析 /105

5.3 日志条目序列 /110

5.4 日志实现 /133

5.5 与选举部分对接 /142

5.6 测试 /146

5.7 本章小结 /159

第6章 通信实现 /160

6.1 通信接口分析 /161

6.2 序列化与反序列化 /162

6.3 通信实现分析 /165

6.4 通信组件的实现 /168

6.5 测试 /186

6.6 本章小结 /188

第7章 基于Raft算法的KV服务 /189

7.1 服务设计 /190

7.2 服务实现 /200

7.3 Node的组装与服务的启动 /213

7.4 关于测试 /221

7.5 本章小结 /221

第8章 客户端和整体测试 /222

8.1 客户端设计与实现 /223

8.2 客户端的启动和基本操作 /231

8.3 单机模式 /234

8.4 集群模式 /238

8.5 本章小结 /258

第9章 日志快照 /259

9.1 日志快照的分析和设计 /260

9.2 日志快照的实现 /267

9.3 测试 /289

9.4 本章小结 /296

第10章 集群成员变更 /297

10.1 集群成员的安全变更 /298

10.2 成员变更的一些细节问题 /304

10.3 成员组件修改 /307

10.4 日志组件修改 /311

10.5 增加节点 /324

10.6 移除节点 /340

10.7 测试 /344

10.8 本章小结 /357

第11章 Raft算法的优化 /358

11.1 PreVote /359

11.2 ReadIndex /368

11.3 其他优化 /383

11.4 本章小结 /386

《分布式一致性算法开发实战》是2020年由北京大学出版社出版,作者赵辰。

得书感谢您对《《分布式一致性算法开发实战》》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
AppInventor开发实战 电子书
App Inventor是MIT开发的流行的可视化编程工具,编程爱好者可以在短时间学会创建炫目的安卓手机应用。
鸿蒙应用开发实战 电子书
本书为华为鸿蒙系统HarmonyOS开发图书,以JavaScript为开发语言,提供完整源代码。
ReactNative移动开发实战 电子书
React native入门书籍,打造高品质移动用户体验。
Vulkan开发实战详解 电子书
本书共分为19章,介绍了Vulkan的诞生、特点、开发环境的搭建以及运行机制、渲染管线和调试技术,着色器编程语言—GLSL、投影及各种变换、光照、纹理映射、3D模型的加载、混合与雾、两种测试及片元丢弃、顶点着色器的妙用、片元着色器的妙用、真实光学环境的模拟、阴影及高级光照、几种高级着色器特效、骨骼动画、Vulkan的性能优化等,最后以一个休闲游戏—方块历险记的案例来展示Vulkan的功能与技术。本
Vue企业开发实战 电子书
《大型电商网站大麦网开发:vue、ES6与Webpack技能结合》