-
内容大纲
本书从介绍分布式一致性算法开始,分析了Raft算法以及Raft算法所依赖的理论,在此基础上讲解并实现了Raft算法以及基于Raft算法的KV服务。通过本书,可以深入了解Raft算法的运行机制,也可以学到如何相对正确地实现Raft。
本书分为11章,第l章简单介绍分布式一致性算法,第2章详细分析Raft算法,第3章在第2章的基础上进行整体设计,第4~8章逐个讲解基于Raft算法的KV服务的各个组件的实现,第9章讲解日志快照,第10章是生产环境必需的服务器成员变更功能,第11章介绍一些相关的Raft算法优化。
本书详细介绍了Raft的核心算法、服务器成员变更以及各种优化的实现,适合那些想尝试实现RaR算法或者在生产环境加入Raft算法的人,也适合那些对于Raft算法有兴趣的读者。 -
作者介绍
赵辰,男,曾在支付宝(现在的蚂蚁金服)作为软件工程师工作四年,对Java语言下的后端开发和多线程编程、分布式计算、分布式系统的设计和多核编程有深入研究。 -
目录
第1章 分布式一致性与共识算法简介
1.1 CAP定理
1.2 共识算法
1.3 本章小结
第2章 Raft核心算法分析
2.1 不考虑分布式一致性的集群
2.2 日志状态机模型
2.3 基于Quorum机制的写入
2.4 基于日志比较的选举
2.5 Raft算法中的选举
2.6 Raft算法中的日志复制
2.7 Raft算法中的一些细节问题
2.8 本章小结
第3章 整体设计
3.1 设计目标
3.2 设计和实现顺序
3.3 参考实现
3.4 状态数据分析
3.5 静态数据分析
3.6 集群成员与映射表
3.7 组件分析
3.8 如何解耦组件间的双向调用关系
3.9 线程模型分析
3.10 项目准备
3.11 本章小结
第4章 选举实现
4.1 角色建模
4.2 定时器组件
4.3 消息建模
4.4 关联组件和工具
4.5 一致性(核心)组件
4.6 测试
4.7 本章小结
第5章 日志实现
5.1 日志实现要求
5.2 日志实现分析
5.3 日志条目序列
5.4 日志实现
5.5 与选举部分对接
5.6 测试
5.7 本章小结
第6章 通信实现
6.1 通信接口分析
6.2 序列化与反序列化
6.3 通信实现分析
6.4 通信组件的实现
6.5 测试
6.6 本章小结
第7章 基于Raft算法的KV服务
7.1 服务设计
7.2 服务实现
7.3 Node的组装与服务的启动
7.4 关于测试
7.5 本章小结
第8章 客户端和整体测试
8.1 客户端设计与实现
8.2 客户端的启动和基本操作
8.3 单机模式
8.4 集群模式
8.5 本章小结
第9章 日志快照
9.1 日志快照的分析和设计
9.2 日志快照的实现
9.3 测试
9.4 本章小结
第10章 集群成员变更
10.1 集群成员的安全变更
10.2 成员变更的一些细节问题
10.3 成员组件修改
10.4 日志组件修改
10.5 增加节点
10.6 移除节点
10.7 测试
10.8 本章小结
第11章 Raft算法的优化
11.1 PreVote
11.2 ReadIndex
11.3 其他优化
11.4 本章小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...