您好,登錄后才能下訂單哦!
分布式協調服務ZooKeeper是怎么樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
分布式協調服務是分布式應用中不可缺少的,通常擔任協調角色,比如leader選舉、負載均衡、服務發現、分布式隊列和分布式鎖
Zookeeper數據模型:
一、層級命名空間
1、data:每個znode擁有一個數據域,記錄用戶數據,該節點的數據類型為字節數組;
2、type:zonde類型,具體分為persistent(持久化節點)、ephemeral(臨時節點)、persistent_sequential(在持久化節點后面追加一個增量的唯一數字)、ephemeral_sequential(在臨時節點后面追加一個增量的唯一數字);
3、version:znode中數據的版本號,每次數據更新版本都會加一;
4、children:znode可以包括多個子節點;
5、ACL:znode訪問控制列表,用戶可以設置每個znode的訪問用戶列表,以保證znode被安全訪問。
二、Watcher:watcher是zookeeper提供的發布/訂閱機制,用戶可在某個znode上注冊watcher以監聽它的變化,一旦znode被刪除或者更新,zookeeper將以事件的方式將變化內容發送給監聽者,需要注意,wacther一旦觸發后就會刪除,除非用戶再次注冊該watcher。
三、Session:是客戶端與zookeeper通信通道,同一個session中的消息是有序的,Session具有容錯性,如何有服務器宕機,客戶端會自動切換到其它活著服務上。
ZooKeeper基本架構
讀路徑、寫路徑、作為數據中心間的橋梁、作為消息總線。
ZooKeeper提供了Java和C語言兩種API
ZooKeeper應用案例:
leader選舉(eg:Hbase、YARN、HDFS)、分布式隊列(幫忙Master節點維護作業及worker信息),負載均衡:Kafka是場景,Broker和Customer主要在Zookeeper中寫入信息,eg:Broker節點注冊信息、Consumer注冊信息、Consumer Offset追蹤信息。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。