zookeeper的應用場景
ZooKeeper典型應用場景一覽 |
|||||||||||||
資料釋出與訂閱(配置中心) |
|||||||||||||
釋出與訂閱模型,即所謂的配置中心,顧名思義就是釋出者將資料釋出到ZK節點上,供訂閱者動態獲取資料,實現配置資訊的集中式管理和動態更新。例如全域性的配置資訊,服務式服務框架的服務地址列表等就非常適合使用。 |
|||||||||||||
· 應用中用到的一些配置資訊放到ZK上進行集中管理。這類場景通常是這樣:應用在啟動的時候會主動來獲取一次配置,同時,在節點上註冊一個Watcher,這樣一來,以後每次配置有更新的時候,都會實時通知到訂閱的客戶端,從來達到獲取最新配置資訊的目的。 · 分散式搜尋服務中,索引的元資訊和伺服器叢集機器的節點狀態存放在ZK的一些指定節點,供各個客戶端訂閱使用。 · 分散式日誌收集系統。這個系統的核心工作是收集分佈在不同機器的日誌。收集器通常是按照應用來分配收集任務單元,因此需要在ZK上建立一個以應用名作為path的節點P,並將這個應用的所有機器ip,以子節點的形式註冊到節點P上,這樣一來就能夠實現機器變動的時候,能夠實時通知到收集器調整任務分配。 · 系統中有些資訊需要動態獲取,並且還會存在人工手動去修改這個資訊的發問。通常是暴露出介面,例如JMX介面,來獲取一些執行時的資訊。引入ZK之後,就不用自己實現一套方案了,只要將這些資訊存放到指定的ZK節點上即可。 注意:在上面提到的應用場景中,有個預設前提是:資料量很小,但是資料更新可能會比較快的場景。
|