基本介紹
內容簡介
《大規模分散式系統架構與設計實戰》寫到,分散式並行計算的基本原理解剖;分散式協調的實現,包括如何實現公共配置管理,如何實現分散式鎖,如何實現集群管理等;分散式快取的實現,包括如何提供完整的分散式快取來利用多機記憶體能力;訊息佇列的實現,包括如何實現傳送和接收模式;分散式檔案系統的實現,包括如何像操作本地檔案一樣操作遠程檔案,並利用多機硬碟存儲能力;分散式作業調度平台的實現,包括資源隔離、資源調度等。
《大規模分散式系統架構與設計實戰》是作者從程式設計師到首席架構師十多年職業生涯的實戰經驗總結,系統講解構建人規模分散式系統的核心技術與實現方法,包含作者開源的Fourinone系統的設計與實現過程,手把手教你掌握分散式技術。通過學習這個系統的實現方法與相關的理論,讀者可快速掌握分散式系統的理論並設計自己的分散式系統。 《大規模分散式系統架構與設計實戰》從分散式計算的基本概念開始,解剖了眾多流行概念的本質,深入講解分散式系統的基本原理與實現方式。包括master—slave結構、訊息中樞模式、網狀直接互動模式、並行結合串列模式等,以及Fourinone系統的架構、實現分散式功能的示例。接下來詳細介紹分散式協調、分散式快取、訊息佇列、分散式檔案系統、分散式作業調度平台的設計與實現方法,不僅包括詳細的架構原理、算法,還給出了實現步驟、核心API、實現代碼。隨書附帶的光碟包括書中示例代碼以及Fourinone系統原始碼。
作者簡介
彭淵,資深架構師,現任華為企業中間件首席架構師,主要負責中間件和大數據。前某電商高級專家(花名:千峰),先後在某電商交易、某電商中間件、集團核心繫統、阿里金融等部門工作。曾任金蝶總體架構部SOA架構師,負責設計ESB。曾艱苦創業,編寫和銷售財務軟體。在Java技術領域從業十多年,撰寫過多款開源軟體,其中,某電商分散式技術框架Fourinone為其代表作。他擁有軟體著作權的代表作有:BS系列軟體(包括財務進銷存、OA產品、CRM等)、FMS視頻會議、Flash網站生成軟體(華軍可下載),所有軟體作品均貢獻99%代碼。
圖書目錄
前言
第1章概述1
1.1分散式計算、並行計算、雲計算概述1
1.2分散式產品hadoop、zookeeper、hbase概述6
1.3fourinone的產生背景12
第2章分散式並行計算的原理與實踐14
2.1分散式並行計算模式14
2.1.1最初想到的master—slave結構14
2.1.2“包工頭—職介所—手工倉庫—工人”模式15
2.1.3基於訊息中樞的計算模式17
2.1.4基於網狀直接互動的計算模式18
2.1.5並行結合串列模式22
2.1.6包工頭內部批量多階段處理模式23
2.1.7計算集群模式和兼容遺留計算系統24
2.1.8工人計算的服務化模式26
2.2跟hadoop的區別28
2.3關於分散式的一些概念與產品30
2.4配置檔案和核心api介紹35
2.5實踐與套用36
2.5.1一個簡單的示例36
2.5.2工頭工人計算模式更完整的示例39
2.5.3工人合併互相sayhello的示例44
2.5.4實現hadoop經典實例wordcount48
2.5.5分散式多機部署的示例52
2.5.6分散式計算自動部署的示例53
2.5.7計算過程中的故障和容災處理57
2.5.8計算過程中的相關時間屬性設定60
2.5.9如何在一台計算機上一次性啟動多個進程63
2.5.10如何調用c/c++程式實現68
2.5.11如何中止工人計算和逾時中止68
2.5.12使用並行計算大幅提升遞歸算法效率73
2.5.13使用並行計算求圓周率π81
2.5.14從賭錢遊戲看pagerank算法86
2.5.15使用並行計算實現上億排序96
2.5.16工人服務化模式套用示例104
2.6實時流計算107
第3章分散式協調的實現111
3.1協調架構原理簡介111
3.2核心api113
3.3許可權機制115
3.4相對於zookeeper的區別116
3.5與paxos算法的區別117
3.6實踐與套用119
3.6.1如何實現公共配置管理119
3.6.2如何實現分散式鎖126
3.6.3如何實現集群管理129
3.6.4多節點許可權操作示例134
3.6.5領導者選舉相關屬性設定137
第4章分散式快取的實現139
4.1小型網站或企業套用的快取實現架構139
4.2大型分散式快取系統實現過程140
4.3一致性哈希算法的原理、改進和實現147
4.4解決任意擴容的問題152
4.5解決擴容後數據均勻的問題153
4.6分散式session的架構設計和實現154
4.7快取容量的相關屬性設定156
4.8快取清空的相關屬性設定158
第5章訊息佇列的實現162
5.1閒話中間件與mq162
5.2jms的兩種經典模式163
5.3如何實現傳送接收的佇列模式164
5.4如何實現主題訂閱模式168
第6章分散式檔案系統的實現173
6.1fttp架構原理解析174
6.2搭建配置fttpadapter環境177
6.3訪問集群檔案根目錄179
6.4訪問和操作遠程檔案181
6.5集群內檔案複製和並行複製184
6.6讀寫遠程檔案187
6.7解析遠程檔案189
6.8並行讀寫遠程檔案191
6.9批量並行讀寫遠程檔案和事務補償處理194
6.10如何進行整型讀寫198
6.11基於整型讀寫的上億排序205
第7章分散式作業調度平台的實現219
7.1調度平台的設計與實現219
7.2資源隔離的實現224
7.3資源調度算法226
7.4其他作業調度平台簡介227
7.4.1其他mpi作業資源調度技術227
7.4.2mesos和yarn簡介229