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

一、Zookeeper數據類型:層次化目錄結構+少許數據node

        Zookeeper包含層次化的目錄結構,每一個Znode都有惟一的路徑標識,Znode能夠包含數據和子節點。服務器

        其中Znode數據能夠有多個版本,若該路徑下包含多個數據版本,查詢這個路徑下的數據時,須要帶上版本。server

 

 二、Zookeeper節點類型:臨時節點(ephemeral)、持久節點(persistent)、順序節點(sequence)。節點類型在建立時肯定,以後不可修改。生命週期

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

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

 

  也能夠說是四種:class

(1)PERSISTENT-持久節點除非手動刪除,不然節點一直存在於 Zookeeper 上監控

(2)EPHEMERAL-臨時節點臨時節點的生命週期與客戶端會話綁定,一旦客戶端會話失效(客戶端與zookeeper 鏈接斷開不必定會話失效),那麼這個客戶端建立的全部臨時節點都會被移除。cli

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

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

 

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

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

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

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

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

四、Watcher監聽機制:

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

(2)監控子目錄變化

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

 

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

相關文章
相關標籤/搜索