Zookeeper的应用场景---(一)数据发布/订阅

数据发布/订阅

数据发布/订阅系统又可以称之为配置中心,可用来进行配置管理,服务发现、注册

发布者:将数据发布到zookeeper的一个或一系列节点上。

订阅者:进行数据订阅。

目的:数据集中管理,动态获取数据,动态更新数据。

发布订阅模式:一般有两种订阅模式

推(Push):Server端主动将数据更新发送给所有订阅的Client端。

优点:对客户端要求低,及时性好。

缺点:很难确保发送成功,没有反馈机制,无法针对性推送,对Server端要求高。

拉(pull):Client端主动发起请求获取最新数据,一般客户端定时进行轮询

优点:针对性强,满足客户端个性化需求

缺点:及时性差,对客户端要求高,需要主动发现、拉取。

zookeeper作为配置中心

zookeeper采用的是推拉结合的方式

Client端向Server端注册需要关注的节点。一旦节点数据发生变更,Server端主动向注册过的Client端发送Watcher事件通知。Client端收到通知后,主动去拉取最新数据。

实现方法:

配置存储:在zookeeper上选取一个数据节点,存储配置信息、

配置获取:集群节点每次初始化,到响应节点读取数据信息,Client端在节点上注册Watcher监听。

配置变更:节点数据有变化时,zookeeper主动通知Client端,Client重新获取配置信息。

 

配置管理的一种简单实现方式

将系统中的配置信息,存入本地配置文件或内存变量中。

配置文件方式:

应用启动时读取本地配置文件进行初始化,运行过程中定时进行文件读取,检查配置信息是否有变动。

如果要修改配置信息,直接在配置文件中使用即可。

适用场景:数据量较小,内容运行时动态变化,集群中各机器共享,配置一致。

 

猜你喜欢

转载自blog.csdn.net/RuningSun/article/details/81530828
今日推荐