4.23文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册
> >
深入理解分布式共识算法

深入理解分布式共识算法

作者:释慧利
出版社:清华大学出版社出版时间:2023-04-01
开本: 其他 页数: 320
中 图 价:¥67.4(7.5折) 定价  ¥89.8 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

深入理解分布式共识算法 版权信息

  • ISBN:9787302630036
  • 条形码:9787302630036 ; 978-7-302-63003-6
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>

深入理解分布式共识算法 本书特色

1.Apache的多位专家、多个开源项目的创始人和负责人大力推荐; 2.全面、系统介绍各类共识算法,提供完整的学习路线图,遵循由浅入深的原则,多维度详解共识算法的基本原理并进行实践; 3.涵盖当前流行的大部分共识算法和分布式事务的实现方法,包含Paxos、ZAB、Raft、Fast Paxos、EPaxos和各类Paxos的变种算法; 4.对每种算法都按照“背景知识→运行过程→算法模拟→证明脉络”的过程进行讲解,思路清晰,易于理解; 5.对各种算法做总结与对比,并分析它们的优缺点,而且结合当前流行的一些经典类库和中间件的源码,逐步印证算法的实现过程; 6.精心提供20多道练习题,帮助读者进一步加深对相关算法的理解; 7.精心绘制120余幅示意图,帮助读者更直观地理解各种算法的运行过程; 8.对重点和难点内容有针对性地录制了教学视频,帮助读者高效、直观地学习。

深入理解分布式共识算法 内容简介

《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番外——FLP 定理,简要介绍FLP定理的相关知识。《深入理解分布式共识算法》按照“背景知识→运行过程→算法模拟→证明脉络”的过程层层推进,介绍算法知识,并为每种算法提供经典类库源码解析。 《深入理解分布式共识算法》内容丰富,讲解由浅入深,尤其适合刚开始接触分布式开发的人员全面学习共识算法,也适合资深架构人员借鉴设计思路,还适合中间件开发人员、系统运维工程师、相关培训学员和高校相关专业的学生阅读。

深入理解分布式共识算法 目录

目 录 第1篇 分布式相关概念与定理 第1章 分布式共识算法概述 2 1.1 分布式架构的演进 2 1.2 集群与状态机 3 1.2.1 分布式与集群 3 1.2.2 容错能力 4 1.2.3 状态机简介 4 1.3 共识简介 5 1.3.1 共识的概念 5 1.3.2 共识与集群 5 1.3.3 共识与副本 6 1.3.4 共识与一致性 7 1.3.5 共识算法的发展历程 7 1.4 拜占庭故障 7 1.4.1 拜占庭的背景知识 7 1.4.2 拜占庭解决方案 8 1.5 本章小结 10 第2章 从ACID和BASE到CAP 11 2.1 ACID——追求一致性 11 2.2 BASE理论——追求可用性 11 2.2.1 BASE理论的三个方面 12 2.2.2 BASE理论的应用 12 2.3 CAP——分布式系统的PH试纸 13 2.3.1 CAP定理 14 2.3.2 为什么C、A、P三者不可兼得 15 2.3.3 CAP的应用 16 2.4 本章小结 16 第2篇 常见分布式共识算法原理与实战 第3章 2PC、3PC——分布式事务的解决方案 18 3.1 二阶段提交协议 18 3.1.1 二阶段提交协议简述 18 3.1.2 故障恢复 20 3.1.3 二阶段提交协议的优缺点 23 3.1.4 空回滚和防悬挂 23 3.2 三阶段提交协议 25 3.2.1 三阶段提交协议简述 25 3.2.2 故障恢复 28 3.2.3 三阶段提交协议的优缺点 29 3.3 二阶段提交协议在Seata中的应用 29 3.3.1 AT模式 30 3.3.2 事务管理者 32 3.3.3 资源管理者 35 3.3.4 事务协调者 42 3.4 本章小结 46 第4章 Paxos——分布式共识算法 48 4.1 Paxos的诞生 48 4.2 初探Paxos 49 4.2.1 基本概念 49 4.2.2 角色 50 4.2.3 阶段 51 4.3 Paxos详解 54 4.3.1 Paxos模拟 54 4.3.2 Prepare阶段 55 4.3.3 Accept阶段 56 4.3.4 活锁 58 4.3.5 提案编号选定 59 4.4 Paxos的推导过程 60 4.4.1 推导 60 4.4.2 多数派的本质 63 4.5 Multi Paxos详解 64 4.5.1 Multi Paxos简介 64 4.5.2 Leader选举 66 4.6 工程实现 68 4.6.1 一些优化 68 4.6.2 对读请求进行优化 70 4.6.3 并行协商 71 4.6.4 Instance的重确认 72 4.6.5 幽灵日志 73 4.7 Paxos在PhxPaxos中的应用 74 4.7.1 PhxPaxos分析 75 4.7.2 PhxPaxos初始化 80 4.7.3 协商提案 82 4.7.4 数据同步 91 4.7.5 Master选举 95 4.7.6 成员变更 98 4.8 本章小结 99 4.9 练习题 100 第5章 ZAB——ZooKeeper技术核心 101 5.1 Chubby简介 101 5.1.1 Chubby是什么 101 5.1.2 为什么选择锁服务 102 5.1.3 需求分析 103 5.1.4 Chubby集群架构 104 5.2 ZooKeeper的简单应用 107 5.2.1 ZooKeeper是什么 107 5.2.2 数据节点 108 5.2.3 Watch机制 110 5.2.4 ACL权限控制 111 5.2.5 会话 113 5.2.6 读请求处理 113 5.3 ZAB设计 114 5.3.1 ZooKeeper背景分析 114 5.3.2 为什么ZooKeeper不直接使用Paxos 116 5.3.3 ZAB简介 118 5.3.4 事务标识符 120 5.3.5 多数派机制 121 5.3.6 Leader周期 121 5.4 ZAB描述 122 5.4.1 Leader选举阶段 122 5.4.2 成员发现阶段 122 5.4.3 数据同步阶段 123 5.4.4 消息广播阶段 124 5.4.5 算法小结 124 5.5 ZooKeeper中的ZAB实现 125 5.5.1 选举阶段 126 5.5.2 成员发现阶段 129 5.5.3 数据同步阶段 130 5.5.4 消息广播阶段 133 5.5.5 算法小结 134 5.5.6 算法模拟 135 5.5.7 提案的安全性 139 5.6 ZooKeeper成员变更 140 5.6.1 变更过程 141 5.6.2 并行变更 142 5.7 ZooKeeper源码实战 142 5.7.1 启动 142 5.7.2 Leader选举 144 5.7.3 Follower和Leader初始化 148 5.7.4 成员发现阶段 151 5.7.5 数据同步阶段 154 5.7.6 消息广播阶段 157 5.8 本章小结 162 5.9 练习题 163 第6章 Raft——共识算法的宠儿 164 6.1 Raft简介 164 6.1.1 Raft诞生的背景 164 6.1.2 可理解性 165 6.1.3 基本概念 165 6.2 Raft算法描述 167 6.2.1 Leader选举 167 6.2.2 日志复制 170 6.2.3 日志对齐 173 6.2.4 幽灵日志 174 6.2.5 安全性 175 6.2.6 Raft小结 176 6.3 算法模拟 177 6.3.1 Leader选举 177 6.3.2 日志复制 178 6.3.3 日志对齐 180 6.4 成员变更 181 6.4.1 联合共识 182 6.4.2 工程实践 185 6.4.3 单个成员变更 188 6.5 日志压缩 191 6.6 网络分区 192 6.6.1 成员变更中的分区 192 6.6.2 对称网络分区 193 6.6.3 非对称网络分区 194 6.7 非事务请求 194 6.7.1 线性一致性 195 6.7.2 Leader Read方案 196 6.7.3 Raft Log Read方案 196 6.7.4 Read Index方案 196 6.7.5 Lease Read方案 197 6.8 Parallel Raft并行协商 198 6.8.1 乱序协商 199 6.8.2 Merge阶段 200 6.9 Raft源码实战——SOFAJRaft 202 6.9.1 SOFAJRaft简介 203 6.9.2 Leader选举 205 6.9.3 日志复制 212 6.9.4 非事务请求 219 6.9.5 成员变更 221 6.10 本章小结 223 6.10.1 Raft与Paxos的异同 223 6.10.2 Raft与ZAB的异同 224 6.11 练习题 225 第3篇 Paxos变种算法集合 第7章 Paxos变种算法的发展史 228 7.1 Disk Paxos简介 228 7.1.1 算法描述 229 7.1.2 Disk Paxos小结 230 7.2 Cheap Paxos简介 230 7.2.1 算法描述 231 7.2.2 Cheap Paxos小结 232 7.3 Generalized Paxos简介 233 7.4 Stoppable Paxos简介 234 7.5 Mencius简介 235 7.6 Vertical Paxos简介 237 7.6.1 算法描述 237 7.6.2 算法模拟 238 7.6.3 Vertical Paxos小结 240 7.7 本章小结 240 第8章 Fast Paxos——C/S架构的福音 242 8.1 Fast Paxos简介 242 8.1.1 背景介绍 242 8.1.2 基本概念 243 8.2 算法详述 244 8.2.1 算法设计 244 8.2.2 Fast Paxos模拟 245 8.2.3 Learn阶段 246 8.3 Quorum推导 246 8.3.1 决策条件 247 8.3.2 计算Quorum 248 8.4 Classic Round简介 249 8.4.1 提案冲突 249 8.4.2 选择提案值的规则 250 8.4.3 证明 252 8.5 提案恢复 253 8.5.1 基于协调者的恢复 253 8.5.2 基于非协调者的恢复 254 8.6 本章小结 254 第9章 EPaxos——去中心化共识 255 9.1 EPaxos简介 255 9.1.1 共识算法对比 255 9.1.2 认识EPaxos算法 256 9.1.3 基本概念 258 9.2 协商协议 260 9.2.1 Prepare阶段 260 9.2.2 PreAccept阶段 263 9.2.3 Paxos-Accept阶段 264 9.2.4 Commit阶段 265 9.2.5 特殊的Quorum 266 9.3 执行协议 268 9.3.1 互相依赖 268 9.3.2 执行过程 269 9.3.3 拓扑排序 270 9.3.4 寻找强连通分量 271 9.3.5 EPaxos排序 272 9.4 算法证明 272 9.4.1 执行的一致性 273 9.4.2 执行的顺序性 274 9.5 Optimized-EPaxos简介 274 9.5.1 Prepare阶段 275 9.5.2 论证QuorumFast 278 9.6 算法模拟 279 9.6.1 协商协议 279 9.6.2 Prepare阶段 282 9.7 成员变更 284 9.8 工程优化 285 9.8.1 巨大的消息体 285 9.8.2 读请求处理 285 9.9 本章小结 286 9.9.1 EPaxos与Paxos的异同 286 9.9.2 EPaxos与Raft、ZAB、Multi Paxos的异同 287 9.10 练习题 288 第4篇 番外——FLP定理 第10章 FLP——不可能定理 290 10.1 FLP定理概述 290 10.1.1 FLP简介 290 10.1.2 FLP的环境模型 290 10.1.3 Paxos为什么是正确的 291 10.2 FLP的证明 292 10.2.1 基础定义 292 10.2.2 完全正确 292 10.2.3 引理1 293 10.2.4 引理2 293 10.2.5 引理3 294 10.2.6 证明 296 10.3 FLP的指导意义 296 练习题答案 298 参考文献 303
展开全部

深入理解分布式共识算法 作者简介

释慧利 Java高级工程师,技术负责人。互联网金融行业从业多年,腾讯云开发者社区超人气作者,有丰富的中台和中间件项目开发经验。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服