天天看點

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

作者:老誠不bug

前言

在計算機科學領域,分布式一緻性問題是- 一個相當重要,且被廣泛探索與論證的問題,通常存在于諸如分布式檔案系統、緩存系統和資料庫等大型分布式存儲系統中。

本書将會從分布式-緻性的理論出發,向讀者講解幾種典型的分布式一緻性協定是如何解決分布式一緻性問題的。 之後,本書則會深入介紹分布式- - 緻性問題的工業解決方案一ZooKeeper,并着重向讀者展示這--分布式協調架構的使用方法、内部實作以及運維技巧,咱們一起往下看

目錄

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第1章 分布式架構

本章由計算機系統從集中式向分布式發展的過程展開,圍繞在分布式架構發展過程中碰到的一.系列問題,結合ACID、CAP和BASE等分布式事務與--緻性方面的經典理論,向讀者介紹分布式架構。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第2章 一緻性協定

在本章中,主要從協定設計和原理實作角度詳細講解二階段送出協定、三階段送出協定和Paxos這三種典型的一緻性算法。可以說,這三種-緻性協定都是非常優秀的分布式一緻性協定,都從不同方面不同程度地解決了分布式資料一緻性問題,使用範圍都非常廣泛。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第3章 Paxos的工程實踐

對于不少工程師來說,Paxos 算法本身晦澀難懂的算法描述,使得學習成本非常高,但Paxos算法超強的容錯能力和對分布式資料一緻性的可靠保證,使其在工業界得到了廣泛的應用。本章通過對Google Chubby 和Hypertable這兩款經典的分布式産品中Paxos算法應用的介紹,向讀者闡述了Paxos算法在實際工業實踐中的應用,為讀者更好地了解Paxos算法提供了幫助。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第4章 ZooKeeper與Paxos

本章從介紹ZooKeeper開始,向讀者初步講解ZooKeeper的設計目标、由來以及基本概念。同時,本章也詳細地介紹ZooKeeper 的一緻性協定一-ZAB, 并将其與Paxos算法進行對比。對于ZooKeeper中ZAB協定的具體實作,将會在7.8節中進行更為詳細的講解。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第5章 使用ZooKeeper

本章主要圍繞ZooKeeper服務的使用展開,對ZooKeeper的基本使用方式進行了全面的講解。首先,分别從叢集、單機和僞叢集三種模式向讀者介紹了如何部署與運作一個可用的ZooKeeper服務,同時介紹了在ZooKeeper服務部署與運作過程中的系統環境配置以及對于常見異常問題的解決。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第6章 ZooKeeper的典型應用場景

本章首先從資料釋出/訂閱、負載均衡、命名服務、分布式通知/協調、叢集管理、Master選舉、分布式鎖和分布式隊列等這些分布式系統中常見的應用場景展開,從理論上向讀者講解了ZooKeeper的最佳實踐,同時結合Hadoop.HBase和Kafka等這些大型分布式系統以及阿裡巴巴的一系列開源系統,向讀者展現了如何借助ZooKeeper解決實際生産中的分布式問題。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第7章 ZooKeeper技術内幕

ZooKeeper以樹作為其記憶體資料模型,樹上的每-一個節點是最小的資料單元,即ZNode。ZNode具有不同的節點特性,同時每個節點都具有一個遞增的版本号,以此可以實作分布式資料的原子性更新。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

第8章 ZooKeeper運維

ZooKeeper 對于磁盤的依賴非常嚴重。在ZooKeeper中,但凡對ZooKeeper資料狀态的變更,都會以事務日志的形式寫入磁盤,并且隻有當叢集中過半的伺服器已經記錄了該事務日志後,服務端才會給予用戶端響應。另--方面,ZooKeeper還會定時将記憶體資料庫中的所有資料和所有用戶端的會話資訊記錄進行快照,儲存到磁盤上的資料快照檔案中去。明白這點之後,你就會意識.到磁盤的吞吐性能對于ZooKeeper的影響了一磁盤的I/O性能直接制約着ZooKeeper每個更新操作的處理速度。

出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題
出自阿裡P8之手的分布式一緻性算法筆記,夠你解決 80% 核心問題

PS:由于篇幅限制,筆記無法全部為大家展示出來,就以截圖主要内容的形式讓大家參考,對這兩本書感興趣的小夥伴,可以私信小編【888】即可無償領取到

繼續閱讀