注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫分布式系統(tǒng)與一致性

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

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

定 價(jià):¥79.00

作 者: 陳東明 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121410413 出版時(shí)間: 2021-06-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  一致性是非常重要的分布式技術(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ǐng)域比較高階的內(nèi)容,但是從分布式一致性的角度來說,本書仍然是一致性的入門書。

作者簡介

  陳東明: 餓了么北京技術(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ù)庫。曾任百度架構(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)化。

圖書目錄

第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ù)庫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 無確認(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 無副本確認(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簡述 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)用場景 60
7.2 ZooKeeper簡述 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ù)庫 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ù)庫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算法簡述 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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)