描述
◎ Google、雅虎、蝦皮、亞馬遜是怎麼運行的?
◎ 以Container為主的微服務早就一統網路世界!
◎ Docker、Kubernetes才是王道,別再管伺服器或虛擬機了
◎ 立即投身雲端容器的世界,商業巨頭才擁有的技術,現在你也可以動手完成
本書特色
巨型系統的處理單元不再是CPU/記憶體/硬碟,取而代之的是以容器及叢集為主的運算提供者。在成千上萬的伺服器,數以百萬計的容器中,管理這些資源,提供快速服務,建立巨量儲存系統才是當務之急。但硬體、網路、儲存的原理仍然大同小異。
本書從基本的HTTP原理談起,進而介紹大型主機最常用的CDN/SD-WAN。接下來進入最重要的分散式系統,這當然不可能少掉ZooKeeper。而處理程序之間的通訊也是RPC就能勝任,這時ZeroC Ice就派上用場了。
在PB等級的記憶體叢集上,把資料庫整個放入記憶體是常用的加速手法,因此本書也介紹了記憶體的規劃及使用,重點就是快取的原理。
儲存是所有應用程式最重要的底層,當然以Linux為主的網路檔案系統很快就成為主角。介紹了GlusterFS、IPFS、Ceph等系統。有了三大元件之後,接下來就是資料的搜尋了。這時需要的中介軟體及搜尋引擎,也是使用老牌的Lucence/Solr/ElasticSearch。而訊息佇列的系統,更說明RabbitMQ及Kafka。
微服務則是以Docker及Kubernetes為主角。當然流行的Service Mesh也用上Istio/Envoy等系統,這麼完整的介紹,不論是有多年研發、架構經驗的IT老手,還是剛入門系統架構的IT新手,看完後一定會大有幫助!
本書內容
第1 章 說明分散式的基礎—網路
第2 章 說明分散式系統的經典理論
第3 章 從RPC 始,說明分散式服務治理架構的起源與原理,並說明ZeroCIce 的原理和微服務架構實戰
第4 ∼ 6章 以專題形式說明記憶體、分散式檔案儲存和分散式運算
第7 章 深入說明全文檢索與訊息佇列中介軟體的原理及用法
第8 章 說明以Kubernetes 為代表的微服務架構解決傳統架構的哪些痛;Service Mesh解決微服務架構的哪些問題,以及如何了解它的原理和核心內容。
第9 章 分享作者的架構實作經驗
適合讀者群 從事網際網路開發與設計者,有經驗系統架構師,或剛入門系統架構新手。
作者簡介
吳治輝
HPE資深架構師,近20年軟體研發經驗,專注於電信軟體和雲端運算方面的軟體研發,擁有豐富的大型專案架構設計經驗,是業界少有具備超強Coding能力的資深架構師,也是多本技術專業圖書作者。
目錄
前言
01 深入了解網路
1.1 從國際網際網路開始
1.2 NIO,一本難念的經
1.3 AIO,大道至簡的設計與苦澀的現實
1.4 網路傳輸中的物件序列化問題
1.5 HTTP 的前世今生
1.6 分散式系統的基礎:TCP/IP
1.7 從CDN 到SD-WAN
02 分散式系統的經典理論
2.1 從分散式系統的設計理念說起
2.2 分散式系統的一致性原理
2.3 分散式系統的基礎之ZooKeeper
2.4 經典的CAP 理論
2.5 BASE 準則,一個影響深遠的指導思維
2.6 重新認識分散式交易
03 聊聊RPC
3.1 從IPC 通訊說起
3.2 古老又有生命力的RPC
3.3 從RPC 到服務治理架構
3.4 以ZeroC Ice 為基礎的微服務架構指南
04 深入淺析記憶體
4.1 你所不知道的記憶體知識
4.2 記憶體計算技術的前世今生
4.3 記憶體快取技術分析
4.4 記憶體計算產品分析
05 深入解析分散式檔案儲存
5.1 資料儲存進化史
5.2 經典的網路檔案系統NFS
5.3 高性能計算領域的分散式檔案系統
5.4 企業級分散式檔案系統GlusterFS
5.5 創新的Linux 分散式儲存系統—Ceph
5.6 星際檔案系統IPFS
5.7 軟體定義儲存 .
06 聊聊分散式運算
6.1 不得不說的Actor 模型
6.2 Actor 原理與實作
6.3 初識Akka
6.4 適用面很廣的Storm
6.5 MapReduce 及其引發的新世界
07 全文檢索與訊息佇列中介軟體
7.1 全文檢索
7.2 訊息佇列
08 微服務架構
8.1 微服務架構概述
8.2 幾種常見的微服務架構方案
8.3 深入Kubernetes 微服務平台
8.4 從微服務到Service Mesh
09 架構實作
9.1 公益專案wuhansun 實作
9.2 身邊購平台實作
9.3 DIY 一個有難度的分散式叢集
序
前言
微服務、雲端原生、Kubernetes、Service Mesh 是分散式領域的熱技術,它們並不是憑空出現的,一定繼承了某些「前輩」的優點。我們不僅要了解這些技術,還要深了解其發展脈絡、原理等,才能遊刃有餘將其用於現有的專案開發或老系統改造中。
本書總計9 章。第1 章說明分散式的基礎—網路,對國際網際網路、NIO、AIO、網路傳輸中的物件序列化問題、HTTP 的前世今生、TCP/IP、從CDN 到SD-WAN 等知識說明。第2 章說明分散式系統的經典理論,有關分散式系統的設計理念、一致性原理;ZooKeeper 的使用場景;CAP 理論的前世今生;BASE 準則;分散式交易的原理。
第3 章從RPC 始,說明分散式服務治理架構的起源與原理,並說明ZeroCIce 的原理和微服務架構實戰。第4 ∼ 6 章以專題形式說明記憶體、分散式檔案儲存和分散式運算,對每個專題都說明相關的重要理論、產品、來源專案及經驗等。
第7 章深入說明全文檢索與訊息佇列中介軟體的原理及用法。第8 章說明以Kubernetes 為代表的微服務架構解決傳統架構的哪些痛;Service Mesh解決了微服務架構的哪些問題,以及如何了解它的原理和核心內容。
第9 章分享作者的架構實作經驗。不論你是有十幾年研發經驗及架構經驗的IT 老手,還是剛入門系統架構的IT 新手,本書都能對你了解分散式架構和微服務架構大有助益。