書馨卡幫你省薪 2024個(gè)人購(gòu)書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

分布式系統(tǒng)與一致性

作者:陳東明
出版社:電子工業(yè)出版社出版時(shí)間:2021-05-01
開本: 其他 頁(yè)數(shù): 252
中 圖 價(jià):¥55.3(7.0折) 定價(jià)  ¥79.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

分布式系統(tǒng)與一致性 版權(quán)信息

分布式系統(tǒng)與一致性 本書特色

√ 全面覆蓋文件、存儲(chǔ)、消息、數(shù)據(jù)庫(kù)、協(xié)調(diào)服務(wù)、一致性實(shí)現(xiàn)原理、算法的分布式架構(gòu)設(shè)計(jì)寶典。 √ 十余年經(jīng)驗(yàn)資深架構(gòu)專家講述分布式技術(shù)核心一致性理論,更精心組織、剖析業(yè)界前沿系統(tǒng)案例。 √ 餓了么KV數(shù)據(jù)庫(kù)開發(fā)負(fù)責(zé)人現(xiàn)身實(shí)戰(zhàn)解密“高并發(fā)可擴(kuò)展分布式系統(tǒng)設(shè)計(jì)”帶來(lái)的一一致性難題。 √ 面向大型分布式系統(tǒng)構(gòu)建,深入剖析重要的一致性特性,將晦澀理論融入實(shí)際案例使其淺顯易讀。

分布式系統(tǒng)與一致性 內(nèi)容簡(jiǎn)介

一致性是很好重要的分布式技術(shù)。眾所周知,分布式系統(tǒng)有很多特性,如可用性、可靠性等,這些特性多多少少會(huì)與一致性產(chǎn)生關(guān)系,受到一致性的影響。要全面研究、掌握分布式技術(shù),一致性是繞不開的一個(gè)話題,也是很難解決的一個(gè)問題。本書主要介紹GFS、HDFS、BigTable、MongoDB、RabbitMQ、ZooKeeper、Spanner、CockroachDB系統(tǒng)與一致性有關(guān)的實(shí)現(xiàn)細(xì)節(jié),以及很好重要的Paxos、Raft、Zab分布式算法;本書還介紹了事務(wù)一致性與隔離級(jí)別、順序一致性、線性一致性與強(qiáng)一致性相關(guān)內(nèi)容,以及架構(gòu)設(shè)計(jì)中的權(quán)衡等。從分布式技術(shù)的角度來(lái)說(shuō),本書講解了分布式領(lǐng)域比較高階的內(nèi)容,但是從分布式一致性的角度來(lái)說(shuō),本書仍然是一致性的入門書。

分布式系統(tǒng)與一致性 目錄

第1部分 開 篇

第1章 分布式系統(tǒng)的核心特性:一致性 2

1.1 拆分是解決大規(guī)模應(yīng)用的本質(zhì) 2

1.2 分布式技術(shù)是大規(guī)模應(yīng)用的*后一個(gè)考驗(yàn) 4

1.3 一致性是這個(gè)考驗(yàn)的核心 6

第2部分 系統(tǒng)案例

第2章 Google的文件系統(tǒng) 8

2.1 GFS的外部接口和架構(gòu) 8

2.1.1 GFS的外部接口 8

2.1.2 GFS的架構(gòu) 9

2.2 GFS的寫流程細(xì)節(jié) 11

2.2.1 名字空間管理和鎖保護(hù) 11

2.2.2 租約 11

2.2.3 變更及變更次序 11

2.3 GFS的原子性 13

2.3.1 write和record append的區(qū)別 13

2.3.2 GFS中原子性的含義 14

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

2.4 GFS的松弛一致性 15

2.4.1 元數(shù)據(jù)的一致性 15

2.4.2 文件數(shù)據(jù)的一致性 15

2.4.3 適應(yīng)GFS的松弛一致性 16

2.4.4 GFS的設(shè)計(jì)哲學(xué) 17


第3章 開源的文件系統(tǒng)HDFS 19

3.1 HDFS的外部接口和架構(gòu) 19

3.1.1 HDFS的外部接口 19

3.1.2 HDFS的架構(gòu) 20

3.2 HDFS的寫流程細(xì)節(jié) 21

3.2.1 打開文件 22

3.2.2 pipeline寫入 22

3.2.3 上報(bào)block狀態(tài) 24

3.2.4 關(guān)閉文件 24

3.2.5 DN定期上報(bào)信息 24

3.3 HDFS的錯(cuò)誤處理 25

3.3.1 DN的錯(cuò)誤 25

3.3.2 NN的錯(cuò)誤 26

3.3.3 客戶端的錯(cuò)誤 26


第4章 Google的BigTable系統(tǒng) 30

4.1 BigTable的外部接口和架構(gòu) 30

4.1.1 表 30

4.1.2 數(shù)據(jù) 31

4.1.3 原子性 32

4.1.4 時(shí)間戳 32

4.1.5 BigTable的數(shù)據(jù)模型 33

4.1.6 BigTable的架構(gòu) 34

4.2 BigTable的實(shí)現(xiàn) 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章 文檔數(shù)據(jù)庫(kù)MongoDB 39

5.1 MongoDB的外部接口和架構(gòu) 39

5.1.1 MongoDB的基本概念 39

5.1.2 MongoDB的架構(gòu) 39

5.2 MongoDB的standalone模式 40

5.2.1 MongoDB的寫入過程 40

5.2.2 無(wú)確認(rèn)導(dǎo)致的丟失更新異常 40

5.2.3 未持久化導(dǎo)致的丟失更新異常 41

5.3 MongoDB的replica set模式 42

5.3.1 MongoDB的復(fù)制過程 43

5.3.2 無(wú)副本確認(rèn)導(dǎo)致的丟失更新異常 44

5.3.3 不正確選主導(dǎo)致的丟失更新異常 45

5.3.4 腦裂導(dǎo)致的丟失更新異常 47

5.3.5 缺失任期信息導(dǎo)致的丟失更新異常 48

5.3.6 臟讀異常 51

5.3.7 陳舊讀異常 52

第6章 消息系統(tǒng)RabbitMQ 54

6.1 RabbitMQ簡(jiǎn)述 54

6.1.1 關(guān)于broker 54

6.1.2 RabbitMQ的接口 55

6.1.3 鏡像隊(duì)列 55

6.2 RabbitMQ的基本實(shí)現(xiàn) 55

6.2.1 鏡像復(fù)制 55

6.2.2 鏡像加入隊(duì)列 56

6.2.3 鏡像同步過程 56

6.3 master切換及RabbitMQ的異常處理 57

6.3.1 意外宕機(jī)后的master切換 57

6.3.2 主動(dòng)運(yùn)維后的master切換 57

6.3.3 意外宕機(jī)與主動(dòng)運(yùn)維的默認(rèn)行為差異 58

6.3.4 網(wǎng)絡(luò)分區(qū)后的master切換 58

6.4 確認(rèn)機(jī)制 59

第7章 協(xié)調(diào)服務(wù)ZooKeeper 60

7.1 協(xié)調(diào)服務(wù)的應(yīng)用場(chǎng)景 60

7.2 ZooKeeper簡(jiǎn)述 61

7.2.1 ZooKeeper的數(shù)據(jù)模型 61

7.2.2 ZooKeeper的外部接口 62

7.2.3 ZooKeeper的架構(gòu) 63

7.3 ZooKeeper的實(shí)現(xiàn)細(xì)節(jié) 65

7.3.1 客戶端異步處理 65

7.3.2 請(qǐng)求處理器 65

7.3.3 原子廣播 67


第8章 Google的Spanner數(shù)據(jù)庫(kù) 69

8.1 Spanner的數(shù)據(jù)模型 69

8.2 Spanner的架構(gòu) 72

8.3 Spanner的實(shí)現(xiàn) 73

8.4 TrueTime的作用 81


第9章 分布式數(shù)據(jù)庫(kù)CockroachDB 86

9.1 CockroachDB的接口和數(shù)據(jù)模型 86

9.2 CockroachDB的架構(gòu) 87

9.3 元數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn) 88

9.4 多副本存儲(chǔ)的實(shí)現(xiàn) 90

9.5 事務(wù)的實(shí)現(xiàn) 92


第3部分 分布式算法

第10章 共識(shí)算法Paxos 108

10.1 Paxos的歷史 108

10.2 Consensus vs Paxos 110

10.3 Basic Paxos算法 111

10.4 Multi Paxos 算法 132

10.5 復(fù)制狀態(tài)機(jī) 144

10.6 Paxos算法與復(fù)制狀態(tài)機(jī) 146

10.7 原子廣播 148

10.8 Paxos算法與原子廣播 149


第11章 復(fù)制日志算法Raft 152

11.1 Raft是復(fù)制日志的算法 152

11.2 Raft算法的組成 153

11.3 復(fù)制過程 153

11.4 選舉過程 154

11.5 異常處理 157


第12章 原子廣播算法Zab 163

12.1 Zab算法簡(jiǎn)述 163

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

12.3 設(shè)計(jì)的Zab算法 172

12.4 Zab Pre 1.0算法 177

12.5 Zab 1.0算法 179


第4部分 一 致 性

第13章 事務(wù)一致性與隔離級(jí)別 184

13.1 ANSI的隔離級(jí)別 185

13.2 SI和SSI隔離級(jí)別 190


第14章 順序一致性 193

14.1 順序一致性的正式定義 193

14.2 理解順序一致性 202

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

14.4 順序一致性的作用 206


第15章 線性一致性與強(qiáng)一致性 210

15.1 什么是線性一致性 210

15.2 判斷系統(tǒng)是否滿足線性一致性 213

15.3 對(duì)線性一致性的理解與強(qiáng)一致性 216

15.4 ZooKeeper的一致性分析 219


第16章 架構(gòu)設(shè)計(jì)中的權(quán)衡 225

16.1 什么是CAP定理 225

16.2 關(guān)于CAP定理的錯(cuò)誤理解 228

16.3 CAP中的權(quán)衡 230

16.4 進(jìn)一步權(quán)衡:HAT和PACELC 231


展開全部

分布式系統(tǒng)與一致性 作者簡(jiǎn)介

陳東明: 餓了么北京技術(shù)中心架構(gòu)組負(fù)責(zé)人,負(fù)責(zé)餓了么的產(chǎn)品線架構(gòu)設(shè)計(jì)以及基礎(chǔ)架構(gòu)研發(fā)工作,主導(dǎo)開發(fā)eleme key-value數(shù)據(jù)庫(kù)。曾任百度架構(gòu)師負(fù)責(zé)百度即時(shí)通訊產(chǎn)品的架構(gòu)設(shè)計(jì)。具有豐富的大規(guī)模系統(tǒng)構(gòu)建和基礎(chǔ)架構(gòu)的硏發(fā)經(jīng)驗(yàn),善于復(fù)雜業(yè)務(wù)需求下的大并發(fā)、分布式系統(tǒng)設(shè)計(jì)和持續(xù)優(yōu)化。

商品評(píng)論(0條)
暫無(wú)評(píng)論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服