資料發布/訂閱系統,即所謂的配置中心:發布者將資料發布到zookeeper的乙個或一系列節點上,供訂閱者進行資料訂閱,進而達到動態獲取資料的目的,實現配置資訊的集中式管理和資料的動態更新。
zookeeper採用的是推拉相結合的方式:客戶端向伺服器端註冊自己需要關注的節點,一旦該服務端節點的資料發生變更,就會向相應的客戶端傳送watcher事件通知,客戶端接收到這個訊息後,需要主動向服務端獲取最新的資料。
通過乙個「配置管理」的實際案例來展示zookeeper在「資料發布/訂閱」場景下的使用方式,需求:系統中需要使用一些通用的配置資訊,例如機器列表的資訊、執行時的開關配置、資料庫配置登。這些全域性配置資訊通常具備以下三個特性:
接下來,使用「資料庫切換」的應用場景展開,看看如何使用zookeeper來實現配置管理。
配置儲存
配置獲取
集群中的每台機器在啟動初始化階段,首先會從上面提到的zookeeper配置節點上讀取資料庫資訊,同時,客戶端還需要在該配置節點上註冊乙個資料變更的watcher監聽,一旦發生節點資料變更,所有訂閱的客戶端都能夠接收到通知。
配置變更
由於服務端的配置資訊發生了改變,客戶端接收到通知後,會向服務端拉取最新的配置資訊。
ZooKeeper典型應用場景
zookeeper 是乙個開源的高可用的分布式資料管理與系統協調框架,基於對 paxos 演算法的實現,保證了分布式環境中資料的強一致性。發布與訂閱模型 發布者發布資料到 zk 節點上,供訂閱者動態獲取資料。在資料量很少,但是資料更新快的場景下 訊息中介軟體中的發布者和訂閱者的負載均衡,linked...
ZooKeeper典型應用場景一覽
b 資料發布與訂閱 配置中心 b 發布與訂閱模型,即所謂的配置中心,顧名思義就是發布者將資料發布到zk節點上,供訂閱者動態獲取資料,實現配置資訊的集中式管理和動態更新。例如全域性的配置資訊,服務式服務框架的服務位址列表等就非常適合使用。應用中用到的一些配置資訊放到zk上進行集中管理。這類場景通常是這...
ZooKeeper典型使用場景
zookeeper是乙個高可用的分布式資料管理與系統協調框架。基於對paxos演算法的實現,使該框架保證了分布式環境中資料的強一致性,也正是 基於這樣的特性,使得zookeeper能夠應用於很多場景。網上對zk的使用場景也有不少介紹,本文將結合作者身邊的專案例子,系統的對zk的使用場景 進行歸類介紹...