Zookeeper數據類型、節點類型、角色、watcher監聽機制


1、Zookeeper數據類型:層次化目錄結構+少量數據

        Zookeeper包含層次化的目錄結構,每個Znode都有唯一的路徑標識,Znode可以包含數據和子節點。

        其中Znode數據可以有多個版本,若該路徑下包含多個數據版本,查詢這個路徑下的數據時,需要帶上版本。

 

 2、Zookeeper節點類型:臨時節點(ephemeral)、持久節點(persistent)、順序節點(sequence)。節點類型在創建時確定,之后不可修改。

(1)臨時節點在客戶端會話結束后,zookeeper會將該臨時節點刪除,且臨時節點不可有子節點。

(2)持久節點不依賴於客戶端的會話,只有客戶端明確要刪除該持久節點,才會將其刪除。

 

  也可以說是四種:

(1)PERSISTENT-持久節點除非手動刪除,否則節點一直存在於 Zookeeper 上

(2)EPHEMERAL-臨時節點臨時節點的生命周期與客戶端會話綁定,一旦客戶端會話失效(客戶端與zookeeper 連接斷開不一定會話失效),那么這個客戶端創建的所有臨時節點都會被移除。

(3)PERSISTENT_SEQUENTIAL-持久順序節點基本特性同持久節點,只是增加了順序屬性,節點名后邊會追加一個由父節點維護的自增整型數字。

(4)EPHEMERAL_SEQUENTIAL-臨時順序節點基本特性同臨時節點,增加了順序屬性,節點名后邊會追加一個由父節點維護的自增整型數字。

 

3、Zookeeper角色:leader領導者、follower跟隨者、observer觀察者、client客戶端

(1)leader:負責投票的發起和決議,更新系統狀態,處理事務請求。

(2)follower跟隨者:參與投票,接收客戶端請求,處理非事務請求並返回結果,轉發事務請求給leader。

(3)observer觀察者:不參與投票過程,只同步leader狀態,為了擴展系統,提高讀寫速度。也接收客戶端請求,處理非事務請求並返回結果,轉發事務請求給leader。

(4)client客戶端:請求發起方。

4、Watcher監聽機制:

(1)監控目錄節點數據變化

(2)監控子目錄變化

(3)一旦這些節點發生變化,服務器就會通知所有設置在這個目錄節點上的Watcher,使得每個客戶端都很快知道其關注的目錄節點的狀態發生變化,從而做出相應反應。

 

節點類型和Watcher監聽機制,是解決所有應用場景問題的出發點和落腳點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM