首頁技術文章正文

Zookeeper典型應用場景:數據發(fā)布與訂閱

更新時間:2022-05-27 來源:黑馬程序員 瀏覽量:

IT培訓班

  數據發(fā)布與訂閱模型,即所謂的全局配置中心,就是發(fā)布者將需要全局統(tǒng)一管理的數據發(fā)布到Zookeeper節(jié)點上,供訂閱者動態(tài)獲取數據,實現配置信息的集中式管理和動態(tài)更新,這也是大數據技術中比較重要的一環(huán)。例如全局的配置信息,服務式服務框架的服務地址列表等就非常適合使用。接下來,介紹一些數據發(fā)布與訂閱的主要應用場景。

  (1)應用中用到一些配置信息放到Zookeeper上進行集中管理。這類場景通常是這樣:應用在啟動時會主動來獲取一次配置,同時,在節(jié)點上注冊一個Watcher,這樣一來,以后每次配置有更新的時候,都會實時通知到訂閱的客戶端,用來達到獲取最新配置信息的目的。

 ?。?)分布式搜索服務中,索引的元信息和服務器集群機器的節(jié)點狀態(tài)存放在Zookeeper的一些指定節(jié)點,供各個客戶端訂閱使用。

  (3)分布式日志收集系統(tǒng)中,這個系統(tǒng)的核心工作是收集分布在不同機器的日志。收集器通常是按照應用來分配收集任務單元,因此需要在Zookeeper上創(chuàng)建一個以應用名作為path的節(jié)點P,并將這個應用的所有機器IP,以子節(jié)點的形式注冊到節(jié)點P上,這樣一來當機器變動的時候,能夠實時通知到收集器調整任務分配。

 ?。?)系統(tǒng)中有些信息需要動態(tài)獲取,并且還會存在人工手動去修改這個信息的發(fā)問。通常是暴露出接口,例如JMX接口,來獲取一些運行時的信息。

  引入Zookeeper之后就不用自己實現一套方案了,只要將這些信息存放到指定的Zookeeper節(jié)點上即可。

  小提示:在上面提到的應用場景中,有個默認前提是:數據量很小,但是數據更新可能會比較快的場景。

分享到:
在線咨詢 我要報名
和我們在線交談!