整体的实现是用zk watch作为轻量级的实时推送。当配置更新时
, disconf-web推送最新配置到zk上,disconf-client获取到zk事件通知时,由disconf-client 从 disconf-web下载最新配置。并重新在zk节点上注册watch事件,实现再次监听。为什么不从zk上获取配置信息呢?官方文档上的解释如下:

此外,disconf-web创建最新配置
时,只会把配置数据落到mysql,并不会马上把数据推到zk上,而需要监听该节点的disconf-client实例启动时,如果还没有创建zk节点,则由客户端创建节点并注册watch.所以启动流程中可能遇到的问题:

网友评论