教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

問答>python+大數(shù)據(jù)開發(fā)>數(shù)據(jù)發(fā)布與訂閱有哪些主要應(yīng)用場景?

數(shù)據(jù)發(fā)布與訂閱有哪些主要應(yīng)用場景?

來源傳智教育2022年06月29日 16時(shí)45分27秒

  數(shù)據(jù)發(fā)布與訂閱主要應(yīng)用場景有4個(gè)。

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

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

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

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

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

  小提示:在上面提到的應(yīng)用場景中,有個(gè)默認(rèn)的前提是:數(shù)據(jù)量很小,但是數(shù)據(jù)更新可能會(huì)比較快的場景

和我們在線交談!