- ISBN:9787301312858
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:26cm
- 页数:386页
- 出版时间:2020-04-01
- 条形码:9787301312858 ; 978-7-301-31285-8
本书特色
本书分析了分布式一致性Raft算法以及Raft算法所依赖的理论,在此基础上讲解并实现Raft算法以及基于Raft算法的KV服务。通过本书,你可以深入了解Raft算法的运行机制,也可以学习到如何正确地实现Raft。
本书分为11章,*章介绍分布式一致性算法,第二章详细分析Raft算法,第三章在第二章基础上整体设计,第四章到第八章逐个讲解基于Raft算法的KV服务的各个组件的实现,第九章讲解Raft算法的主要优化之一的日志快照,第十章是生产环境必须的服务器成员变更功能,*后一章介绍其他一些相关的Raft优化。
本书详细介绍了Raft的核心算法、服务器成员变更以及各种优化的实现,适合想尝试实现Raft算法或者在生产环境中加入Raft算法的读者,以及对于分布式一致性算法有兴趣的读者。
内容简介
本书分为11章, **章介绍分布式一致性算法, 第二章详细分析Raft算法, 第三章在第二章基础上整体设计, 第四章到第八章逐个讲解基于Raft算法的KV服务的各个组件的实现, 第九章讲解Raft算法的主要优化之一的日志快照, 第十章是生产环境必须的服务器成员变更功能, *后一章介绍其他一些相关的Raft算法优化。
目录
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
作者简介
赵辰,男,1989年生于上海,软件工程师。曾在支付宝(现在的蚂蚁金服)工作四年,擅长基于Java语言的后端开发,对Java语言下的多线程编程、分布式计算、多核编程有深入研究。
-
全图解零基础word excel ppt 应用教程
¥16.3¥48.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
零信任网络:在不可信网络中构建安全系统
¥34.2¥59.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥71.2¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥74.3¥99.0 -
大学计算机基础实验教程(MS Office版)——面向数据分析能力培养
¥29.1¥39.8 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥65.6¥89.8 -
LINUX实战——从入门到精通
¥49.0¥69.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
数据存储架构与技术(第2版)
¥62.9¥89.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
Java面向对象程序设计基础教程
¥35.9¥59.8 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0