Advertisement

ZooKeeper 涉及组件的回调机制设计

阅读量:

目录

  • ZooKeeper 观察机制
    • 服务端对观察者的处理

      • ServerCnxn 的存储方式
    • 服务端激活观察者

    • 客户端接收观察者回调

      • SendThread 负责接收事件通知
      • EventThread 负责处理事件通知
    • Zookeeper 观察者的工作原理

ZooKeeper Watch机制解析

ZooKeeper系统中的节点具备监控能力,涵盖该目录下数据内容的变更以及子节点目录结构的变动,当发生相应变化时,能够及时通知已设置监控的客户端。借助这一机制,可实现诸如配置信息集中管理、集群协调控制、分布式锁等功能。ZooKeeper Watch机制具备以下特点:

  • 一次性触发机制(one-time trigger)
    无论是在服务端还是客户端,一旦某个Watcher被激活,ZooKeeper会将其从对应的数据结构中移除。这种设计有效降低了服务端的资源消耗。若Watcher在注册后持续有效,则对于频繁更新的节点而言,服务端将不断向客户端推送事件通知,这将对网络带宽和服务端处理性能造成显著影响。

  • 通知事件发送至客户端(Sent to the client)
    Watch所触发的通知事件由服务器主动发送至客户端,并且该过程是异步进行的,即不同客户端

全部评论 (0)

还没有任何评论哟~