zookeeper 都有哪些使用場景?


大致來說,zookeeper 的使用場景如下,我就舉幾個簡單的,大家能說幾個就好了:

  • 分布式協調
  • 分布式鎖
  • 元數據/配置信息管理
  • HA高可用性

 

分布式協調

  這個其實是 zookeeper 很經典的一個用法,簡單來說,就好比,你 A 系統發送個請求到 mq,然后 B 系統消息消費之后處理了。那 A 系統
如何知道 B 系統的處理結果?用 zookeeper 就可以實現分布式系統之間的協調工作。A 系統發送請求之后可以在 zookeeper 上對某個節點
的值注冊個監聽器,一旦 B 系統處理完了就修改 zookeeper 那個節點的值,A 系統立馬就可以收到通知,完美解決。

 

 

 

分布式鎖

  舉個栗子。對某一個數據連續發出兩個修改操作,兩台機器同時收到了請求,但是只能一台機器先執行完另外一個機器再執行。那么此時就
可以使用 zookeeper 分布式鎖,一個機器接收到了請求之后先獲取 zookeeper 上的一把分布式鎖,就是可以去創建一個 znode,接着執行
操作;然后另外一個機器也嘗試去創建那個 znode,結果發現自己創建不了,因為被別人創建了,那只能等着,等第一個機器執行完了自己再執行。

 

 

 

元數據/配置信息管理

  zookeeper 可以用作很多系統的配置信息的管理,比如 kafka、storm 等等很多分布式系統都會選用 zookeeper 來做一些元數據、
配置信息的管理,包括 dubbo 注冊中心不也支持 zookeeper 么?

 

 

 

HA高可用性

  這個應該是很常見的,比如 hadoop、hdfs、yarn 等很多大數據系統,都選擇基於 zookeeper 來開發 HA 高可用機制,就是一個
重要進程一般會做主備兩個,主進程掛了立馬通過 zookeeper 感知到切換到備用進程。

 

 


免責聲明!

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



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