全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

Zookeeper數(shù)據(jù)發(fā)布與訂閱的主要應(yīng)用場(chǎng)景

更新時(shí)間:2021-07-26 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班   

數(shù)據(jù)發(fā)布與訂閱模型,即所謂的全局配置中心,顧名思義就是發(fā)布者將需要全局統(tǒng)一管理的數(shù)據(jù)發(fā)布到Zookeeper節(jié)點(diǎn)上,供訂閱者動(dòng)態(tài)獲取數(shù)據(jù),實(shí)現(xiàn)配置信息的集中式管理和動(dòng)態(tài)更新。例如全局的配置信息,服務(wù)式服務(wù)框架的服務(wù)地址列表等就非常適合使用。接下來(lái),我們介紹一些數(shù)據(jù)發(fā)布與訂閱的主要應(yīng)用場(chǎng)景。

(1)應(yīng)用中用到的一些配置信息放到Zookeeper上進(jìn)行集中管理。這類(lèi)場(chǎng)景通常是這樣:應(yīng)用在啟動(dòng)的時(shí)候會(huì)主動(dòng)來(lái)獲取一次配置,同時(shí),在節(jié)點(diǎn)上注冊(cè)一個(gè)Watcher,這樣一來(lái),以后每次配置有更新的時(shí)候,都會(huì)實(shí)時(shí)通知到訂閱的客戶(hù)端,用來(lái)達(dá)到獲取最新配置信息的目的。

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

(3)分布式日志收集系統(tǒng)中,這個(gè)系統(tǒng)的核心工作是收集分布在不同機(jī)器的日志。收集器通常是按照應(yīng)用來(lái)分配收集任務(wù)單元,因此需要在Zookeeper上創(chuàng)建一個(gè)以應(yīng)用名作為path的節(jié)點(diǎn)P,并將這個(gè)應(yīng)用的所有機(jī)器ip,以子節(jié)點(diǎn)的形式注冊(cè)到節(jié)點(diǎn)P上,這樣一來(lái)就能夠?qū)崿F(xiàn)機(jī)器變動(dòng)的時(shí)候,能夠?qū)崟r(shí)通知到收集器調(diào)整任務(wù)分配。


(4)系統(tǒng)中有些信息需要?jiǎng)討B(tài)獲取,并且還會(huì)存在人工手動(dòng)去修改這個(gè)信息的發(fā)問(wèn)。通常是暴露出接口,例如JMX接口,來(lái)獲取一些運(yùn)行時(shí)的信息。

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





猜你喜歡:

Zookeeper選舉機(jī)制涉及的概念有哪些?

ZooKeeper面試題和答案匯總【黑馬程序員】

ZooKeeper視頻教程3天通關(guān)[黑馬程序員]

Zookeeper命名服務(wù)|Name Service使用方法

黑馬程序員python+大數(shù)據(jù)開(kāi)發(fā)培訓(xùn)

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!