解決的問題:
解決大量計算機資料一緻性問題,同時使得網絡中資料同步的可靠性增強。
鮮明特點:
zookeeper為分布式資料管理叢集。在對用戶端的管理中有效措施為:用戶端申請的節點類型及監聽機制。
節點類型有三種
持久節點,隻有當用戶端明确删除才能被删除。
臨時節點,用戶端會話結束,即被删除,且不能有子結點。
順序結點,順序的建立子節點。
監聽機制
使用戶端的資料同步。監控目錄結點及子目錄的變化,一旦變化通知所有watcher,進而每個用戶端很快知道變化,做出相應反應。
zookeeper組成:
成員
follower(處理非事務,如讀操作),leader(隻能有一個,處理事務),observer(加快處理非事務,不參與leader選舉)
ZAB協定(對自身的管理)
事務編号:每個事務有一個事務編号:ZXID,myID(自己選擇,每個節點不同)
ZXID高32位為選舉周期(leader朝代),低32位為遞增計數器,随事務的到來遞增,新周期到來則清零。
zk的核心是原子廣播,保證zk内各個服務節點之間的同步。ZAB協定使其得以實作。ZAB有兩種模式:恢複模式和廣播模式。
當伺服器啟動或者上司者崩潰之後,進入恢複模式。當上司者被選舉出來且大多數follower完成了與其狀态同步之後,恢複模式結束。
狀态同步保證了leader和server具有相同的系統狀态。