[分布式]zookeeper系列-zk应用之发布与订阅

前言

分布式常见的一个问题就是发布及订阅,比如一个配置中心的功能,集群中的没个服务器需要去配置中心拉取配置,同时,当配置更新时也能感知到。

订阅模式

常见的订阅模式有两种

  • 推:需要由配置中心将变更后的结果推送到各个服务器节点。需要配置中心存储节点信息,在更新操作是能够调用服务器并进行处理。
  • 拉:定时轮训,服务器定时像配置中心进行拉取,缺点是对于变化的响应不够及时。

zk的订阅模式实现

zk的实现的模式是推拉相结合。

具体来说,是服务器在zk上注册自己要监听的节点,节点存放配置信息,然后注册一个watch监听器,当这个节点信息发生变化,zk不是直接将变更内容下发至服务器,而是告诉服务器这个节点内容有变化,由服务器感应到通知后重新拉取节点信息。

这种推拉相结合的方式是,减缓了配置中心的压力,zk不需要保证配置一定下发到每台机器才算成功,而是通知到就算成功,此外,由服务器自己拉取配置,服务器可以自己决策适合的时机来执行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容