架構解密 : 從分佈式到微服務 架构解密:从分布式到微服务

Leader-us

買這商品的人也買了...

商品描述

分佈式架構與微服務平臺是當今IT界的關鍵技術,也是資深軟件工程師和系統架構師必須掌握的核心技術。

本書以從傳統分佈式架構遷移到基於容器技術的微服務架構為主線,全面、透徹地介紹了與分佈式架構及微服務相關的知識和技術。

本書一開始並沒有提及分佈式的枯燥理論,而是講述了一段精彩的IT發展史,其中重點講述了大型機、UNIX小機器的沒落與X86平臺的崛起,從而巧妙地引出CPU、內存、網絡、存儲的分佈式演進過程,這恰恰是分佈式軟件系統賴以運行的“物質基礎”。

然後簡明扼要地介紹了進行系統架構所必需的網絡基礎,並詳細介紹了分佈式系統中的經典理論、設計套路及RPC通信,對內存、SOA架構、分佈式存儲、分佈式計算等進行了深度解析,最後詳細介紹了全文檢索與消息隊列中間件,以及微服務架構所涉及的重點內容。本書是Leader-us多年架構經驗的傾情分享,主要面向關註分佈式架構及微服務,以及有志於成為實力派架構師的IT人士。

作者簡介

Leader-us 

本名吳治輝,惠普資深軟件架構師,國內知名開源分佈式數據庫中間件Mycat的發起人,精通Java編程,擁有超過16年軟件研發經驗,專注於電信和雲計算方面的軟件研發,參與過眾多分佈式與雲計算相關的大型項目架構設計和Coding,是業界少有的具備很強Coding能力的S級資深架構師;曾經選拔和培養了大批優秀Java工程師,他們中的大多數人進入知名軟件公司參與核心研發,也有一些人選擇創業。

Leader-us也是《ZeroC Ice權威指南》《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸》的作者。

目錄大綱

第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微服務架構25 6 

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