什麼是zookeeper
ZooKeeper是一個分佈式數據一致性解決方案。分佈式應用可以基於ZooKeeper實現諸如:數據發佈/訂閱、負載均衡、命名服務、分佈式協調/通知、集羣管理、Master選舉、分佈式鎖、分佈式隊列等功能。
- 順序一致性:從同一個客戶端發起的請求,在ZooKeeper上會被按順序處理。
- 原子性:集羣中的所有節點同時應用,或者不應用一個事務。
- 單一視圖:無論是ZooKeeper集羣的哪個節點,服務端數據模型都一樣。
- 可靠性:事務一旦被成功處理,對應的狀態就會保留。
- 實時性:ZooKeeper保證的是,一段時間內,客戶端最終能從服務端讀到最新的數據。
zookeeper的ZAB協議
ZAB協議的消息廣播和崩潰恢復過程
消息廣播
崩潰恢復