zooKeeper之配置管理简单例子_晏无心_新浪博客

集中式的配置管理在应用集群中是非常常见的,一般商业公司内部都会实现一套集中的配置管理中心,应对不同的应用集群对于共享各自配置的需求,并且在配置变更时能够通知到集群中的每一个机器。

Zookeeper很容易实现这种集中式的配置管理。
来看具体的例子:
新增三个Client,模拟真实系统的应用。
zooKeeper之配置管理简单例子

Client1作为配置管理应用:
zooKeeper之配置管理简单例子

创建config znode,设置配置的默认值:
zooKeeper之配置管理简单例子

获取配置的默认值:
zooKeeper之配置管理简单例子

通过手动输入新的配置来模拟配置管理里配置的更改:
zooKeeper之配置管理简单例子

再来看Client2和Client3:
zooKeeper之配置管理简单例子
连接zooKeeper;
获取ZkWatcher实例;
通过zk.exists监听"/root/config" znode;
启动后获取默认的配置;

来看ZkWatcher的实现:
zooKeeper之配置管理简单例子
实现Watcher接口;
初始化时对ZooKeeper进行实例化。

zooKeeper之配置管理简单例子
实现process方法,当监听的事件发生改变时,会调用process方法;
从ZooKeeper里获取最新的配置信息;
再次通过zk.exists()方法监听znode,因为ZkWatcher监听一次事件改变后会失效,必须要再次配置监听。

Client3和Client2的实现一致。

启动ZooKeeper服务器,来看运行的结果:
zooKeeper之配置管理简单例子

zooKeeper之配置管理简单例子

zooKeeper之配置管理简单例子
从运行结果可以看出,当Client1更改配置后,Client2和Client3都收到了ZooKeeper的通知,进而更改自身的配置,使整个系统中的应用配置保持一致。

使用ZooKeeper的好处就是可以将整个系统中的配置集中管理,只需在一个地方更改,所有的系统中的应用都会被ZooKeeper通知更改,不用再对每个应用一一更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值