您好,登錄后才能下訂單哦!
zookeeper-統一命名服務
1)在分布式環境下,經常需要對應用/服務進行統一命名,便于識別不同服務。
類似于域名與ip之間對應關系。
通過名稱來獲取資源或服務的地址等信息。
2)按照層次結構組織服務/應用名稱。
它可以將服務名稱以及地址信息寫到zookeeper,客戶端通過zookeeper獲取服務列表。
2.配置管理
1)分布式環境下,經常需要配置文件管理和同步
一個集群中,所有節點的配置信息是一致的。
我們對配置文件修改后,希望能夠快速同步到各個節點
2)配置管理可交由zookeeper實現
可將配置信息寫入zookeeper上的一個znode
各個節點監聽這個znode
一旦znode中的數據被修改zookeeper將通知各個節點
3.集群管理
1)分布式環境中,我們需要實時掌握每個節點的狀態。
可根據節點實時狀態做出一些調整。
2)可交由zookeeper實現
可將節點信息寫入zookeeper上的一個znode
監聽這個znode可獲取它的實時狀態變化
3)典型應用
HBase中Master狀態監控與選舉
4.分布式通知與協調
1)分布式環境中,經常存在一個服務需要知道它所管理的子服務的狀態
NameNode需知道各個Datanode的狀態
ResourceManager需知道各個NodeManager的狀態
2)zookeeper可以實現心跳檢測機制,實現信息推送,它相當于一個發布/訂閱系統。
5.分布式鎖
1)zookeeper是強一致性
2)實現鎖的獨占性
3)控制鎖的時序
6.分布式隊列
分布式隊列分為兩種:
1)當一個隊列的成員都聚齊時,這個隊列才可用,否則一直等待所有成員到達,這種是同步隊列
一個job由多個task組成,只有所有任務完成后,job才運行完成。
可為job創建一個job目錄,然后在該目錄下,為每個完成的task創建一個臨時的znode,
一旦臨時節點數目達到task總數,則表明job運行完成。
2)隊列按照fifo方式進行入隊和出隊操作,例如實現生產者和消費者模型。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。