商品详情
书名:深入理解分布式系统
定价:108.0
ISBN:9787121428111
作者:唐伟志
版次:第1版
出版时间:2022-03
内容提要:
分布式系统是一门理论模型与工程技法并重的学科,现在的互联网从业的开发人员,很难绕过分布式系统,或多或少会在面试、工作中接触到分布式系统的知识。本书主要通过理论和实践结合的方式介绍分布式系统。主要内容有分布式系统基础知识:分布式系统模型、分区、一致性哈希、主从复制、一致性级别、分布式共识、分布式事务、分布式系统中的时间等,帮助读者夯实分布式基础知识;本书也面向实践者:实现简单的 Paxos 共识算法、HDFS、ZooKeeper、etcd、Kubernetes 等分布式系统案例研究等。
作者简介:
唐伟志,曾任网易游戏、腾讯基础架构工程师。毕业后一直从事分布式系统相关工作,在知乎和公众号“多颗糖”上分享对分布式系统论文的解读和算法的讲解。开源爱好者、TiDB Reviewer和Kubernetes Contributor。
目录:
第1章 认识分布式系统
1.1 什么是分布式系统
1.2 为什么需要分布式系统
1.3 分布式系统的示例
1.3.1 搜索引擎
1.3.2 加密货币
1.4 分布式系统的挑战
1.4.1 网络延迟问题
1.4.2 部分失效问题
1.4.3 时钟问题
1.5 每个程序员都应该知道的数字
1.6 本章小结
第2章 分布式系统模型
2.1 两将军问题
2.2 拜占庭将军问题
2.3 系统模型
2.3.1 网络链路模型
2.3.2 节点故障类型
2.3.3 按时间划分系统模型
2.4 消息传递语义
2.5 本章小结
第3章 分布式数据基础
3.1 分区
3.1.1 水平分区算法
3.1.2 分区的挑战
3.2 复制
3.2.1 单主复制
3.2.2 多主复制
3.2.3 无主复制
3.3 CAP定理
3.3.1 PACELC定理
3.3.2 BASE
3.4 一致性模型
3.4.1 线性一致性
3.4.2 实现线性一致性
3.4.3 线性一致性的代价
3.4.4 顺序一致性
3.4.5 因果一致性
3.4.6 *终一致性
3.4.7 以客户端为中心的一致性模型
3.5 隔离级别
3.6 一致性和隔离级别的对比
3.7 本章小结
第4章 分布式共识
4.1 分布式共识简介
4.1.1 什么是分布式共识
4.1.2 为什么要达成共识
4.2 异步系统中的共识
4.2.1 FLP不可能定理
4.2.2 故障屏蔽
4.2.3 使用故障检测器
4.2.4 使用随机性算法
4.3 同步系统中的共识
4.4 Paxos
4.4.1 基本概念
4.4.2 问题描述
4.4.3 Paxos算法实现流程
4.4.4 案例
4.4.5 活锁
4.5 实验:使用Go语言实现Paxos共识算法
4.5.1 定义相关结构体
4.5.2 定义消息结构体
4.5.3 算法实现流程
4.5.4 学习提案
4.5.5 实现单元测试
4.6 Multi-Paxos
4.6.1 确定日志索引
4.6.2 领导者选举
4.6.3 减少请求
4.6.4 副本的完整性
4.6.5 客户端请求
4.6.6 配置变更
4.6.7 完整实现
4.6.8 Paxos练习题
4.7 其他Paxos变体
4.7.1 Disk Paxos
4.7.2 Cheap Paxos
4.7.3 Fast Paxos
4.7.4 Mencius
4.7.5 EPaxos
4.7.6 Flexible Paxos
4.7.7 WPaxos
4.7.8 CASPaxos
4.7.9 其他
4.8 Raft算法
4.8.1 系统模型
4.8.2 基本概念
4.8.3 领导者选举
4.8.4 日志复制
4.8.5 领导者更替
4.8.6 选举限制举例
4.8.7 延迟提交之前任期的日志条目
4.8.8 清理不一致的日志
4.8.9 处理旧领导者
4.8.10 客户端协议
4.8.11 实现线性一致性
4.8.12 配置变更
4.8.13 配置变更存在的Bug
4.8.14 极端情况下的活性问题
4.8.15 日志压缩
4.8.16 基于内存的状态机的快照
4.8.17 基于磁盘的状态机的快照
4.8.18 性能优化
4.8.19 Raft练习题
4.9 Paxos vs Raft
4.10 拜占庭容错和PBFT算法
4.11 本章小结
第5章 分布式事务
5.1 什么是分布式事务
5.2 原子提交
5.2.1 两阶段提交
5.2.2 三阶段提交
5.2.3 Paxos提交算法
5.2.4 基于Quorum的提交协议
5.2.5 Saga事务
5.3 并发控制
5.3.1 两阶段锁
5.3.2 乐观并发控制
5.3.3 多版本并发控制
5.4 Percolator
5.5 本章小结
第6章 时间和事件顺序
6.1 物理时钟
6.2 时钟同步
6.3 逻辑时钟
6.4 向量时钟
6.5 分布式快照
6.6 本章小结
第7章 案例研究
7.1 分布式文件系统
7.1.1 GFS的目标
7.1.2 架构
7.1.3 读取文件
7.1.4 写入文件
7.1.5 一致性模型
7.1.6 其他
7.2 分布式协调服务
7.2.1 ZooKeeper架构
7.2.2 数据模型
7.2.3 ZooKeeper实现
7.2.4 客户端API
7.2.5 其他
7.3 分布式表格存储Bigtable
7.3.1 数据模型
7.3.2 架构
7.3.3 SSTable和LSM Tree
7.3.4 其他优化
7.4 分布式键值存储Dynamo
7.4.1 架构
7.4.2 请求协调
7.4.3 成员管理和故障检测
7.5 分布式NoSQL数据库Cassandra
7.5.1 数据模型
7.5.2 架构
7.5.3 协调请求
7.5.4 一致性级别
7.5.5 轻量级事务
7.5.6 二级索引
7.5.7 批处理
7.6 分布式数据库Spanner
7.6.1 数据模型
7.6.2 架构
7.6.3 TrueTime
7.6.4 读写事务
7.6.5 只读事务
7.6.6 快照读和模式变更事务
7.7 分布式批处理
7.7.1 MapReduce
7.7.2 Spark
7.8 分布式流处理框架Flink
7.8.1 计算模型
7.8.2 系统架构
7.8.3 时间处理
7.8.4 分布式快照
7.8.5 端到端的精确一次语义
7.9 本章小结
定价:108.0
ISBN:9787121428111
作者:唐伟志
版次:第1版
出版时间:2022-03
内容提要:
分布式系统是一门理论模型与工程技法并重的学科,现在的互联网从业的开发人员,很难绕过分布式系统,或多或少会在面试、工作中接触到分布式系统的知识。本书主要通过理论和实践结合的方式介绍分布式系统。主要内容有分布式系统基础知识:分布式系统模型、分区、一致性哈希、主从复制、一致性级别、分布式共识、分布式事务、分布式系统中的时间等,帮助读者夯实分布式基础知识;本书也面向实践者:实现简单的 Paxos 共识算法、HDFS、ZooKeeper、etcd、Kubernetes 等分布式系统案例研究等。
作者简介:
唐伟志,曾任网易游戏、腾讯基础架构工程师。毕业后一直从事分布式系统相关工作,在知乎和公众号“多颗糖”上分享对分布式系统论文的解读和算法的讲解。开源爱好者、TiDB Reviewer和Kubernetes Contributor。
目录:
第1章 认识分布式系统
1.1 什么是分布式系统
1.2 为什么需要分布式系统
1.3 分布式系统的示例
1.3.1 搜索引擎
1.3.2 加密货币
1.4 分布式系统的挑战
1.4.1 网络延迟问题
1.4.2 部分失效问题
1.4.3 时钟问题
1.5 每个程序员都应该知道的数字
1.6 本章小结
第2章 分布式系统模型
2.1 两将军问题
2.2 拜占庭将军问题
2.3 系统模型
2.3.1 网络链路模型
2.3.2 节点故障类型
2.3.3 按时间划分系统模型
2.4 消息传递语义
2.5 本章小结
第3章 分布式数据基础
3.1 分区
3.1.1 水平分区算法
3.1.2 分区的挑战
3.2 复制
3.2.1 单主复制
3.2.2 多主复制
3.2.3 无主复制
3.3 CAP定理
3.3.1 PACELC定理
3.3.2 BASE
3.4 一致性模型
3.4.1 线性一致性
3.4.2 实现线性一致性
3.4.3 线性一致性的代价
3.4.4 顺序一致性
3.4.5 因果一致性
3.4.6 *终一致性
3.4.7 以客户端为中心的一致性模型
3.5 隔离级别
3.6 一致性和隔离级别的对比
3.7 本章小结
第4章 分布式共识
4.1 分布式共识简介
4.1.1 什么是分布式共识
4.1.2 为什么要达成共识
4.2 异步系统中的共识
4.2.1 FLP不可能定理
4.2.2 故障屏蔽
4.2.3 使用故障检测器
4.2.4 使用随机性算法
4.3 同步系统中的共识
4.4 Paxos
4.4.1 基本概念
4.4.2 问题描述
4.4.3 Paxos算法实现流程
4.4.4 案例
4.4.5 活锁
4.5 实验:使用Go语言实现Paxos共识算法
4.5.1 定义相关结构体
4.5.2 定义消息结构体
4.5.3 算法实现流程
4.5.4 学习提案
4.5.5 实现单元测试
4.6 Multi-Paxos
4.6.1 确定日志索引
4.6.2 领导者选举
4.6.3 减少请求
4.6.4 副本的完整性
4.6.5 客户端请求
4.6.6 配置变更
4.6.7 完整实现
4.6.8 Paxos练习题
4.7 其他Paxos变体
4.7.1 Disk Paxos
4.7.2 Cheap Paxos
4.7.3 Fast Paxos
4.7.4 Mencius
4.7.5 EPaxos
4.7.6 Flexible Paxos
4.7.7 WPaxos
4.7.8 CASPaxos
4.7.9 其他
4.8 Raft算法
4.8.1 系统模型
4.8.2 基本概念
4.8.3 领导者选举
4.8.4 日志复制
4.8.5 领导者更替
4.8.6 选举限制举例
4.8.7 延迟提交之前任期的日志条目
4.8.8 清理不一致的日志
4.8.9 处理旧领导者
4.8.10 客户端协议
4.8.11 实现线性一致性
4.8.12 配置变更
4.8.13 配置变更存在的Bug
4.8.14 极端情况下的活性问题
4.8.15 日志压缩
4.8.16 基于内存的状态机的快照
4.8.17 基于磁盘的状态机的快照
4.8.18 性能优化
4.8.19 Raft练习题
4.9 Paxos vs Raft
4.10 拜占庭容错和PBFT算法
4.11 本章小结
第5章 分布式事务
5.1 什么是分布式事务
5.2 原子提交
5.2.1 两阶段提交
5.2.2 三阶段提交
5.2.3 Paxos提交算法
5.2.4 基于Quorum的提交协议
5.2.5 Saga事务
5.3 并发控制
5.3.1 两阶段锁
5.3.2 乐观并发控制
5.3.3 多版本并发控制
5.4 Percolator
5.5 本章小结
第6章 时间和事件顺序
6.1 物理时钟
6.2 时钟同步
6.3 逻辑时钟
6.4 向量时钟
6.5 分布式快照
6.6 本章小结
第7章 案例研究
7.1 分布式文件系统
7.1.1 GFS的目标
7.1.2 架构
7.1.3 读取文件
7.1.4 写入文件
7.1.5 一致性模型
7.1.6 其他
7.2 分布式协调服务
7.2.1 ZooKeeper架构
7.2.2 数据模型
7.2.3 ZooKeeper实现
7.2.4 客户端API
7.2.5 其他
7.3 分布式表格存储Bigtable
7.3.1 数据模型
7.3.2 架构
7.3.3 SSTable和LSM Tree
7.3.4 其他优化
7.4 分布式键值存储Dynamo
7.4.1 架构
7.4.2 请求协调
7.4.3 成员管理和故障检测
7.5 分布式NoSQL数据库Cassandra
7.5.1 数据模型
7.5.2 架构
7.5.3 协调请求
7.5.4 一致性级别
7.5.5 轻量级事务
7.5.6 二级索引
7.5.7 批处理
7.6 分布式数据库Spanner
7.6.1 数据模型
7.6.2 架构
7.6.3 TrueTime
7.6.4 读写事务
7.6.5 只读事务
7.6.6 快照读和模式变更事务
7.7 分布式批处理
7.7.1 MapReduce
7.7.2 Spark
7.8 分布式流处理框架Flink
7.8.1 计算模型
7.8.2 系统架构
7.8.3 时间处理
7.8.4 分布式快照
7.8.5 端到端的精确一次语义
7.9 本章小结
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺