分布式一致性算法开发实战 作者:赵辰 出版时间:2020年版内容简介 从介绍分布式一致性算法开始,分析了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算法有兴趣的读者。目录第1章 分布式一致性与共识算法简介 /11.1 CAP定理 /21.2 共识算法 /31.3 本章小结 /6第2章 Raft核心算法分析 /72.1 不考虑分布式一致性的集群 /82.2 日志状态机模型 /82.3 基于Quorum机制的写入 /92.4 基于日志比较的选举 /102.5 Raft算法中的选举 /132.6 Raft算法中的日志复制 /182.7 Raft算法中的一些细节问题 /212.8 本章小结 /25第3章 整体设计 /273.1 设计目标 /283.2 设计和实现顺序 /293.3 参考实现 /293.4 状态数据分析 /303.5 静态数据分析 /323.6 集群成员与映射表 /343.7 组件分析 /383.8 如何解耦组件间的双向调用关系 /393.9 线程模型分析 /433.10 项目准备 /483.11 本章小结 /56第4章 选举实现 /584.1 角色建模 /594.2 定时器组件 /634.3 消息建模 /674.4 关联组件和工具 /704.5 一致性(核心)组件 /784.6 测试 /914.7 本章小结 /103第5章 日志实现 /1045.1 日志实现要求 /1055.2 日志实现分析 /1055.3 日志条目序列 /1105.4 日志实现 /1335.5 与选举部分对接 /1425.6 测试 /1465.7 本章小结 /159第6章 通信实现 /1606.1 通信接口分析 /1616.2 序列化与反序列化 /1626.3 通信实现分析 /1656.4 通信组件的实现 /1686.5 测试 /1866.6 本章小结 /188第7章 基于Raft算法的KV服务 /1897.1 服务设计 /1907.2 服务实现 /2007.3 Node的组装与服务的启动 /2137.4 关于测试 /2217.5 本章小结 /221第8章 客户端和整体测试 /2228.1 客户端设计与实现 /2238.2 客户端的启动和基本操作 /2318.3 单机模式 /2348.4 集群模式 /2388.5 本章小结 /258第9章 日志快照 /2599.1 日志快照的分析和设计 /2609.2 日志快照的实现 /2679.3 测试 /2899.4 本章小结 /296第10章 集群成员变更 /29710.1 集群成员的安全变更 /29810.2 成员变更的一些细节问题 /30410.3 成员组件修改 /30710.4 日志组件修改 /31110.5 增加节点 /32410.6 移除节点 /34010.7 测试 /34410.8 本章小结 /357第11章 Raft算法的优化 /35811.1 PreVote /35911.2 ReadIndex /36811.3 其他优化 /38311.4 本章小结 /386 上一篇: 零起点 Python 机器学习快速入门 何海群著 下一篇: 可伸缩架构:云环境下的高可用与风险管理 第2版 [美]艾奇逊 2020年版