總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
分布式系統設計實踐^tn
 作  者: 李慶旭
 出版單位: 人民郵電
 出版日期: 2019.11
 進貨日期: 2019/12/26
 ISBN: 9787115519450
 開  本: 16 開    
 定  價: 443
 售  價: 354
  會 員 價: 325
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

隨著互聯網,尤其是移動互聯網的快速發展,大數據洶涌而至。傳統單體應用的開發者很快就發現,無論他們如何優化自己的產品,都無法滿足飛速增長的業務需要,藉助垂直擴展提高性能的路已經走到了盡頭,谷歌、百度、阿里巴巴、亞馬遜都先後遇到了這個難題。 谷歌公司關於GFS、Bigtable、MapReduce的三篇論文發表後,各種分布式技術如雨後春筍般蓬勃發展,困擾了業界多年的性能難題在水平擴展思路的引領下迎刃而解。從此,分布式文件系統、分布式數據庫系統、分布式中間件等各種開源的、閉源的分布式產品層出不窮。分布式技術的多樣性固然為業界提供了許多選擇,但也給分布式系統的開發者,尤其是初學者帶來了許多挑戰。 本書旨在對分布式技術做一個整體介紹,對現有的各種分布式技術進行系統的梳理,以及對各種分布式產品的設計思想和架構進行具體闡述,使讀者在短時間內了解分布式系統的全貌並理解其思想和應用。 本書適合業界的架構師、工程師、項目經理,以及大中專院校的高年級本科生和研究生使用和參考。


內容簡介:

本書對近年來涌現出的各種主流分布式技術做了簡要介紹和全面梳理。本書將分布式系統中涉及的技術分為前端構造技術、分布式中間件技術和分布式存儲技術三大類,對每類技術都詳細介紹了其原理、設計思想和架構,以及相關應用場景。此外,本書還總結了分布式系統的構建思想,並分別對業界幾個非常成功的大型分布式系統(谷歌搜索系統、淘寶網電商平台、阿里雲公有雲平台、領英社交平台)進行了案例研究。


作者簡介:

李慶旭 1999 年北京工業大學計算機系碩士畢業。曾先後就職於華為、北電網絡、微軟、CA、Symantec/Veritas等國內外知名企業,擔任過軟件開發工程師、項目經理、團隊技術負責人等職務。參與研發過的產品有電信網管軟件、微軟拼音輸入法、微軟SharePoint、微軟Office 365、CA Clarity項目管理軟件等。對軟件技術有著濃厚的興趣,常於工作之餘涉獵軟件的多個領域,如桌面操作系統、移動操作系統、分布式技術、人工智能、機器學習等。


圖書目錄:

第一部分 分布式系統概述

第1章 分布式系統概述 3

1.1 分布式系統的組成 4

1.2 分布式協調組件 6

1.3 分布式存儲系統 7

1.4 分布式計算系統 9

1.4.1 批處理分布式計算系統 9

1.4.2 流處理分布式計算系統 10

1.4.3 混合系統 11

1.5 分布式系統中節點之間的關係 11

第二部分 分布式系統的前端構造技術

第2章 Web框架的實現原理 15

2.1 Web框架簡介 16

2.2 PHP Web MVC框架的工作原理 17

2.2.1 框架的入口 17

2.2.2 URL到控制器的映射 17

2.2.3 如何將模型傳給視圖 18

2.3 Java Web MVC框架原理 19

2.3.1 Java Servlet API 3.0 19

2.3.2 框架的入口 20

2.3.3 Spring 4.0框架 22

2.3.4 Java EE 29

2.3.5 Spring與Java EE的比較 30

2.4 Go語言Web開發 30

2.4.1 Go語言簡介 31

2.4.2 Go語言Web開發 32

第3章 反向代理與負載均衡 33

3.1 反向代理 33

3.1.1 Nginx 34

3.1.2 Tengine 35

3.1.3 Varnish 35

3.2 負載均衡 36

3.2.1 DNS負載均衡 36

3.2.2 硬件負載均衡 36

3.2.3 軟件負載均衡 37

第三部分 分布式中間件

第4章 分布式同步服務中間件 41

4.1 分布式一致性協議 42

4.2 分布式同步服務中間件簡介 43

4.3 分布式同步服務中間件的實現原理 44

4.3.1 架構 44

4.3.2 如何消除單點故障 45

4.3.3 Chubby對外提供的API 45

4.3.4 數據庫 46

4.3.5 Chubby使用示例:集群的主服務器選舉 46

4.4 其他分布式同步服務中間件 46

4.4.1 Linux心跳機制 47

4.4.2 ZooKeeper 47

4.4.3 iNexus 48

4.5 分布式同步服務的應用 48

第5章 關係型數據庫訪問中間件 53

5.1 數據庫訪問中間件的形式 54

5.2 數據庫訪問中間件的工作原理 55

5.3 著名的數據庫訪問中間件 56

5.3.1 MySQL代理 57

5.3.2 Cobar 58

5.3.3 TDDL 59

5.3.4 MyCAT 59

5.3.5 Heisenberg 59

5.4 數據庫訪問中間件的應用 60

5.4.1 使用MySQL代理實現讀寫數據庫分離 60

5.4.2 研發自己的數據庫中間件,實現MySQL的分庫分表 60

第6章 分布式服務調用中間件 63

6.1 分布式服務調用中間件簡介 63

6.2 分布式服務調用中間件的實現原理 64

6.2.1 Dubbo的架構 64

6.2.2 Dubbo中各組件的交互 65

6.2.3 Dubbo的實現及特點 66

6.2.4 Dubbox 66

6.3 其他分布式服務調用中間件 67

6.3.1 Protocol Buffers 67

6.3.2 gRPC 68

6.3.3 Thrift 69

6.3.4 Motan 72

6.3.5 sofa-pbrpc 73

6.4 分布式服務調用中間件的應用 73

第7章 分布式消息服務中間件 75

7.1 分布式消息服務中間件簡介 75

7.2 分布式消息服務中間件的實現原理 77

7.2.1 消息模型 77

7.2.2 架構 77

7.3 其他分布式消息服務中間件 79

7.3.1 阿里巴巴RocketMQ 79

7.3.2 Apache Pulsar 80

7.4 分布式消息服務中間件的應用 82

7.4.1 秒殺系統中使用Kafka以削平峰值流量 83

7.4.2 使用Kafka流實現消息推送 83

第8章 分布式跟蹤服務中間件 85

8.1 分布式跟蹤服務中間件的實現原理 85

8.2 其他分布式跟蹤服務中間件 88

8.2.1 Twitter的Zipkin 88

8.2.2 Pinpoint 90

8.2.3 阿里巴巴的EagleEye 92

8.3 分布式跟蹤服務中間件的應用 92

第四部分 分布式存儲技術

第9章 分布式文件系統 95

9.1 分布式文件系統的實現原理 96

9.2 其他分布式文件系統 102

9.3 分布式文件系統的應用 104

第10章 基於鍵值對的NoSQL數據庫 107

10.1 NoSQL數據庫的CAP權衡 108

10.2 基於鍵值對的NoSQL數據庫的實現原理 108

10.2.1 谷歌的LevelDB 108

10.2.2 阿里巴巴的Tair 111

10.2.3 亞馬遜的Dynamo 111

10.3 其他基於鍵值對的NoSQL數據庫 115

10.3.1 Memcached 115

10.3.2 Redis 116

10.3.3 Berkeley DB 117

10.3.4 Facebook RocksDB 117

10.3.5 Riak 118

10.3.6 Voldemort 118

10.4 基於鍵值對的NoSQL數據庫的應用 118

10.4.1 使用Redis緩存會話數據 118

10.4.2 使用Berkeley DB/LevelDB/RocksDB構建自己的分布式存儲系統 119

10.4.3 使用Berkeley DB/LevelDB/RocksDB作為本地數據庫 119

第11章 基於列的NoSQL數據庫 121

11.1 基於列的NoSQL數據庫的實現原理 121

11.1.1 數據模型 121

11.1.2 架構 124

11.2 其他基於列的NoSQL數據庫 126

11.2.1 Apache HBase 126

11.2.2 Apache Cassandra 127

11.2.3 Baidu Tera 128

11.3 基於列的NoSQL數據庫的應用 128

11.3.1 HBase用於數據分析系統 128

11.3.2 HBase用於存儲呼叫記錄 129

第12章 基於文檔的NoSQL數據庫 131

12.1 基於文檔的NoSQL數據庫的實現原理 131

12.1.1 數據模型 131

12.1.2 自動分片 132

12.1.3 副本 132

12.1.4 索引 133

12.1.5 查詢路由 133

12.2 其他基於文檔的NoSQL數據庫 133

12.2.1 CouchDB 133

12.2.2 RethinkDB 134

12.3 基於文檔的NoSQL數據庫的應用 135

第13章 其他NoSQL數據庫 137

13.1 基於圖的NoSQL數據庫Neo4j 138

13.1.1 數據模型 138

13.1.2 圖的存儲 138

13.1.3 高可用性 139

13.1.4 水平擴展 139

13.2 多數據模型NoSQL數據庫OrientDB 139

13.2.1 基本概念 140

13.2.2 圖的表示 140

13.2.3 節點與集群 140

13.2.4 分片 141

13.2.5 ACID支持 141

13.2.6 CAP的權衡 142

13.2.7 集群配置信息的管理 142

13.3 時間序列NoSQL數據庫 142

第14章 NewSQL數據庫 143

14.1 NewSQL和CAP理論 144

14.2 採用新架構的NewSQL系統 145

14.2.1 谷歌的Megastore 145

14.2.2 谷歌的Spanner 146

14.2.3 谷歌的F1 147

14.2.4 阿里巴巴的OceanBase 148

14.2.5 其他採用新架構的NewSQL數據庫 152

第五部分 分布式系統的構建思想

第15章 雲化 157

15.1 雲化的技術基礎 157

15.1.1 虛擬機技術 157

15.1.2 容器技術 159

15.2 公有雲能提供什麼 159

15.3 雲化對軟件架構的要求 161

第16章 分布式系統的構建思想 163

16.1 一切都可能失敗與冗余的思想 163

16.1.1 如何避免單點故障 164

16.1.2 避免單點故障的具體做法 165

16.2 水平而不是垂直擴展的思想 165

16.2.1 數據的水平擴展 166

16.2.2 服務的水平擴展 167

16.2.3 數據中心的水平擴展 167

16.3 盡可能簡單的思想 168

16.4 實用主義的思想 169

16.4.1 搜索引擎作為查詢工具使用 169

16.4.2 阿里巴巴的OceanBase的架構 169

16.4.3 根據需要選擇最適合的開發工具和開發語言 170

16.4.4 根據需要選擇不同的存儲系統 170

16.5 異步化以解耦並削平峰值 170

16.6 最終一致性的思想 171

16.7 微服務的思想 171

16.8 MapReduce的思想 172

16.9 服務跟蹤的思想 172

16.10 資源池化的思想 173

第六部分 大型分布式系統案例研究及分析

第17章 大型分布式系統案例研究 177

17.1 案例研究之谷歌搜索系統 177

17.2 案例研究之淘寶網 182

17.3 案例研究之阿里雲 185

17.4 案例研究之領英 189

第18章 關於分布式系統設計的思考 197

18.1 大型互聯網公司架構的共性 197

18.2 為何大型互聯網公司的架構如此相似 198

18.3 關於分布式監控系統 199

18.4 Linux系統調用epoll() 200

18.5 關於插件設計模式的實現 201

18.5.1 C/C 語言的動態庫形式的實現 202

18.5.2 Java語言的插件模式實現 203

18.5.3 採用專用語言的插件模式實現 205

18.6 關於分布式服務調用中間件的實現 205

18.7 動態鏈接還是靜態鏈接 206

18.8 無所不用其極的壓榨性能手段 206

18.8.1 編譯後代碼的原生態化 206

18.8.2 定制的Linux內核 207

18.8.3 定制的Java虛擬機 208

18.8.4 定制的MySQL 208

參考文獻 209

後記 211

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。