架構解密:從分散式到微服務

架構解密:從分散式到微服務

《架構解密:從分散式到微服務》 一書作者Leader-us,電子工業出版社2017年7月出版

內容提要

分散式架構與微服務平台是當今IT界的關鍵技術,也是資深軟體工程師和系統架構師必須掌握的核心技術。《架構解密:從分散式到微服務》以從傳統分散式架構遷移到基於容器技術的微服務架構為主線,全面、透徹地介紹了與分散式架構及微服務相關的知識和技術。《架構解密:從分散式到微服務》一開始並沒有提及分散式的枯燥理論,而是講述了一段精彩的IT發展史,其中重點講述了大型機、UNIX小機器的沒落與X86平台的崛起,從而巧妙地引出CPU、記憶體、網路、存儲的分散式演進過程,這恰恰是分散式軟體系統賴以運行的“物質基礎”。然後簡明扼要地介紹了進行系統架構所必需的網路基礎,並詳細介紹了分散式系統中的經典理論、設計套路及RPC通信,對記憶體、SOA架構、分散式存儲、分散式計算等進行了深度解析,最後詳細介紹了全文檢索與訊息佇列中間件,以及微服務架構所涉及的重點內容。

《架構解密:從分散式到微服務》是Leader-us多年架構經驗的傾情分享,主要面向關注分散式架構及微服務,以及有志於成為實力派架構師的IT人士。

目錄

第1章 大話分散式系統 1

1.1 IT爭霸戰 1

1.1.1 劃時代的第一台計算機 1

1.1.2 IT界的恐龍時代 4

1.1.3 貴族的沒落與平民的勝利 6

1.1.4 ARM新貴的爆發 10

1.1.5 超級計算機的絕地反擊 11

1.2 分散式系統的開國元勛 13

1.3 分散式系統的基石:TCP/IP 17

1.4 從無奈到崛起的CDN網 19

1.5 這是一個最好的時代 21

第2章 “知識木桶”中的短板——網路基礎 23

2.1 即使高手也不大懂的網路 23

2.2 NIO,一本難念的經 30

2.2.1 難懂的ByteBuffer 30

2.2.2 晦澀的“非阻塞” 39

2.2.3 複雜的Reactor模型 41

2.3 AIO,大道至簡的設計與苦澀的現實 45

2.4 網路傳輸中的對象序列化問題 50

第3章 分散式系統的經典基礎理論 55

3.1 從分散式系統的設計理念說起 55

3.2 分散式系統的一致性原理 58

3.3 分散式系統的基石之ZooKeeper 61

3.3.1 ZooKeeper的原理與功能 61

3.3.2 ZooKeeper的場景案例分析 65

3.4 經典的CA理論 69

3.5 BASE準則,一個影響深遠的指導思想 72

3.6 重新認識分散式事務 73

3.6.1 資料庫單機事務的實現原理 73

3.6.2 經典的X/OpenDTP事務模型 75

3.6.3 網際網路中的分散式事務解決方案 78

第4章 聊聊RPC 83

4.1 從IPC通信說起 83

4.2 古老又有生命力的RPC 85

4.3 從RPC到服務治理框架 91

4.4 基於ZeroC Ice的微服務架構指南 94

4.4.1 微服務架構概述 95

4.4.2 ZeroC Ice微服務架構指南 100

第5章 深入淺析記憶體 107

5.1 你所不知道的記憶體知識 107

5.1.1 複雜的CPU與單純的記憶體 107

5.1.2 多核CPU與記憶體共享的問題 110

5.1.3 著名的Cache偽共享問題 113

5.1.4 深入理解不一致性記憶體 115

5.2 記憶體計算技術的前世今生 118

5.3 記憶體快取技術分析 123

5.3.1 快取概述 123

5.3.2 快取實現的幾種方式 125

5.3.3 學習Memcache的記憶體管理技術 127

5.3.4 Redis的獨特之處 129

5.4 記憶體計算產品分析 131

5.4.1 SAP HANA 131

5.4.2 Hazelcast 133

5.4.3 VoltDB 135

第6章 深入解析分散式存儲 138

6.1 數據存儲進化史 138

6.2 經典的網路檔案系統NFS 145

6.3 高性能計算領域的分散式檔案系統 148

6.4 企業級分散式檔案系統GlusterFS 150

6.5 創新的Linux分散式存儲系統——Ceph 153

6.6 軟體定義存儲 160

第7章 聊聊分散式計算 166

7.1 不得不說的Actor模型 166

7.2 Actor原理與實踐 170

7.3 初識Akka 177

7.4 適用面很廣的Storm 185

7.5 MapReduce及其引發的新世界 194

第8章 全文檢索與訊息佇列中間件 201

8.1 全文檢索 201

8.1.1 什麼是全文檢索 201

8.1.2 起於Lucene 202

8.1.3 Solr 206

8.1.4 ElasticSearch 209

8.2 訊息佇列 217

8.2.1 訊息佇列概述 217

8.2.2 JEE專屬的JMS 221

8.2.3 生生不息的ActiveMQ 226

8.2.4 RabbitMQ 231

8.2.5 Kafka 238

第9章 微服務架構 244

9.1 微服務架構概述 244

9.1.1 微服務架構興起的原因 244

9.1.2 不得不提的容器技術 246

9.1.3 如何全面理解微服務架構 249

9.2 幾種常見的微服務架構方案 253

9.2.1 ZeroC IceGrid微服務架構 253

9.2.2 Spring Cloud微服務架構 256

9.2.3 基於訊息佇列的微服務架構 259

9.2.4 Docker Swarm微服務架構 261

9.3 深入Kubernetes微服務平台 263

9.3.1 Kubernetes的概念與功能 263

9.3.2 Kubernetes的組成與原理 268

9.3.3 基於Kubernetes的PaaS平台 272

相關詞條

熱門詞條

聯絡我們