第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 本章小结