图书盲袋,以书为“药”
欢迎光临中图网 请 | 注册
> >
分布式系统与一致性

分布式系统与一致性

作者:陈东明
出版社:电子工业出版社出版时间:2021-05-01
开本: 其他 页数: 252
中 图 价:¥49.8(6.3折) 定价  ¥79.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

分布式系统与一致性 版权信息

  • ISBN:9787121410413
  • 条形码:9787121410413 ; 978-7-121-41041-3
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>

分布式系统与一致性 本书特色

√ 全面覆盖文件、存储、消息、数据库、协调服务、一致性实现原理、算法的分布式架构设计宝典。 √ 十余年经验资深架构专家讲述分布式技术核心一致性理论,更精心组织、剖析业界前沿系统案例。 √ 饿了么KV数据库开发负责人现身实战解密“高并发可扩展分布式系统设计”带来的一一致性难题。 √ 面向大型分布式系统构建,深入剖析重要的一致性特性,将晦涩理论融入实际案例使其浅显易读。

分布式系统与一致性 内容简介

一致性是很好重要的分布式技术。众所周知,分布式系统有很多特性,如可用性、可靠性等,这些特性多多少少会与一致性产生关系,受到一致性的影响。要全面研究、掌握分布式技术,一致性是绕不开的一个话题,也是很难解决的一个问题。本书主要介绍GFS、HDFS、BigTable、MongoDB、RabbitMQ、ZooKeeper、Spanner、CockroachDB系统与一致性有关的实现细节,以及很好重要的Paxos、Raft、Zab分布式算法;本书还介绍了事务一致性与隔离级别、顺序一致性、线性一致性与强一致性相关内容,以及架构设计中的权衡等。从分布式技术的角度来说,本书讲解了分布式领域比较高阶的内容,但是从分布式一致性的角度来说,本书仍然是一致性的入门书。

分布式系统与一致性 目录

第1部分 开 篇

第1章 分布式系统的核心特性:一致性 2

1.1 拆分是解决大规模应用的本质 2

1.2 分布式技术是大规模应用的*后一个考验 4

1.3 一致性是这个考验的核心 6

第2部分 系统案例

第2章 Google的文件系统 8

2.1 GFS的外部接口和架构 8

2.1.1 GFS的外部接口 8

2.1.2 GFS的架构 9

2.2 GFS的写流程细节 11

2.2.1 名字空间管理和锁保护 11

2.2.2 租约 11

2.2.3 变更及变更次序 11

2.3 GFS的原子性 13

2.3.1 write和record append的区别 13

2.3.2 GFS中原子性的含义 14

2.3.3 GFS中多副本之间不具有原子性 15

2.4 GFS的松弛一致性 15

2.4.1 元数据的一致性 15

2.4.2 文件数据的一致性 15

2.4.3 适应GFS的松弛一致性 16

2.4.4 GFS的设计哲学 17


第3章 开源的文件系统HDFS 19

3.1 HDFS的外部接口和架构 19

3.1.1 HDFS的外部接口 19

3.1.2 HDFS的架构 20

3.2 HDFS的写流程细节 21

3.2.1 打开文件 22

3.2.2 pipeline写入 22

3.2.3 上报block状态 24

3.2.4 关闭文件 24

3.2.5 DN定期上报信息 24

3.3 HDFS的错误处理 25

3.3.1 DN的错误 25

3.3.2 NN的错误 26

3.3.3 客户端的错误 26


第4章 Google的BigTable系统 30

4.1 BigTable的外部接口和架构 30

4.1.1 表 30

4.1.2 数据 31

4.1.3 原子性 32

4.1.4 时间戳 32

4.1.5 BigTable的数据模型 33

4.1.6 BigTable的架构 34

4.2 BigTable的实现 35

4.2.1 tablet location 35

4.2.2 tablet的指派 36

4.2.3 加载tablet 36

4.2.4 tablet的读/写操作 37

4.2.5 合并 38


第5章 文档数据库MongoDB 39

5.1 MongoDB的外部接口和架构 39

5.1.1 MongoDB的基本概念 39

5.1.2 MongoDB的架构 39

5.2 MongoDB的standalone模式 40

5.2.1 MongoDB的写入过程 40

5.2.2 无确认导致的丢失更新异常 40

5.2.3 未持久化导致的丢失更新异常 41

5.3 MongoDB的replica set模式 42

5.3.1 MongoDB的复制过程 43

5.3.2 无副本确认导致的丢失更新异常 44

5.3.3 不正确选主导致的丢失更新异常 45

5.3.4 脑裂导致的丢失更新异常 47

5.3.5 缺失任期信息导致的丢失更新异常 48

5.3.6 脏读异常 51

5.3.7 陈旧读异常 52

第6章 消息系统RabbitMQ 54

6.1 RabbitMQ简述 54

6.1.1 关于broker 54

6.1.2 RabbitMQ的接口 55

6.1.3 镜像队列 55

6.2 RabbitMQ的基本实现 55

6.2.1 镜像复制 55

6.2.2 镜像加入队列 56

6.2.3 镜像同步过程 56

6.3 master切换及RabbitMQ的异常处理 57

6.3.1 意外宕机后的master切换 57

6.3.2 主动运维后的master切换 57

6.3.3 意外宕机与主动运维的默认行为差异 58

6.3.4 网络分区后的master切换 58

6.4 确认机制 59

第7章 协调服务ZooKeeper 60

7.1 协调服务的应用场景 60

7.2 ZooKeeper简述 61

7.2.1 ZooKeeper的数据模型 61

7.2.2 ZooKeeper的外部接口 62

7.2.3 ZooKeeper的架构 63

7.3 ZooKeeper的实现细节 65

7.3.1 客户端异步处理 65

7.3.2 请求处理器 65

7.3.3 原子广播 67


第8章 Google的Spanner数据库 69

8.1 Spanner的数据模型 69

8.2 Spanner的架构 72

8.3 Spanner的实现 73

8.4 TrueTime的作用 81


第9章 分布式数据库CockroachDB 86

9.1 CockroachDB的接口和数据模型 86

9.2 CockroachDB的架构 87

9.3 元数据存储的实现 88

9.4 多副本存储的实现 90

9.5 事务的实现 92


第3部分 分布式算法

第10章 共识算法Paxos 108

10.1 Paxos的历史 108

10.2 Consensus vs Paxos 110

10.3 Basic Paxos算法 111

10.4 Multi Paxos 算法 132

10.5 复制状态机 144

10.6 Paxos算法与复制状态机 146

10.7 原子广播 148

10.8 Paxos算法与原子广播 149


第11章 复制日志算法Raft 152

11.1 Raft是复制日志的算法 152

11.2 Raft算法的组成 153

11.3 复制过程 153

11.4 选举过程 154

11.5 异常处理 157


第12章 原子广播算法Zab 163

12.1 Zab算法简述 163

12.2 各版本Zab算法的共有部分 164

12.3 设计的Zab算法 172

12.4 Zab Pre 1.0算法 177

12.5 Zab 1.0算法 179


第4部分 一 致 性

第13章 事务一致性与隔离级别 184

13.1 ANSI的隔离级别 185

13.2 SI和SSI隔离级别 190


第14章 顺序一致性 193

14.1 顺序一致性的正式定义 193

14.2 理解顺序一致性 202

14.3 顺序一致性的其他描述 204

14.4 顺序一致性的作用 206


第15章 线性一致性与强一致性 210

15.1 什么是线性一致性 210

15.2 判断系统是否满足线性一致性 213

15.3 对线性一致性的理解与强一致性 216

15.4 ZooKeeper的一致性分析 219


第16章 架构设计中的权衡 225

16.1 什么是CAP定理 225

16.2 关于CAP定理的错误理解 228

16.3 CAP中的权衡 230

16.4 进一步权衡:HAT和PACELC 231


展开全部

分布式系统与一致性 作者简介

陈东明: 饿了么北京技术中心架构组负责人,负责饿了么的产品线架构设计以及基础架构研发工作,主导开发eleme key-value数据库。曾任百度架构师负责百度即时通讯产品的架构设计。具有丰富的大规模系统构建和基础架构的硏发经验,善于复杂业务需求下的大并发、分布式系统设计和持续优化。

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