Zookeeper 的通知机制

Zookeeper 允许客户端向服务端的某个 znode 注册一个 Watcher 监听,当服务端的一些指定事件触发了这个 Watcher ,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据 Watcher 通知状态和事件类型做出业务上的改变。

大致分为三个步骤:

1:客户端注册 Watcher

  • 调用 getData、getChildren、exist 三个 API ,传入Watcher 对象。
  • 标记请求request ,封装 Watcher 到 WatchRegistration 。
  • 封装成 Packet 对象,发服务端发送request 。
  • 收到服务端响应后,将 Watcher 注册到 ZKWatcherManager 中进行管理。
  • 请求返回,完成注册。

2:服务端处理 Watcher

  • 服务端接收 Watcher 并存储。
  • Watcher 触发
  • 调用 process 方法来触发 Watcher 。

3:客户端回调 Watcher

  • 客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调Watcher 。
  • 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了。

相关推荐

  1. Zookeeper 通知机制

    2024-03-26 09:52:04       50 阅读
  2. ZookeeperACL 权限控制机制

    2024-03-26 09:52:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 09:52:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 09:52:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 09:52:04       87 阅读
  4. Python语言-面向对象

    2024-03-26 09:52:04       96 阅读

热门阅读

  1. BC98 序列中删除指定数字

    2024-03-26 09:52:04       43 阅读
  2. 软件工程---专业名称

    2024-03-26 09:52:04       42 阅读
  3. ADC123123

    2024-03-26 09:52:04       43 阅读
  4. Docker与K8S实战系列教程--靠谱、易学

    2024-03-26 09:52:04       38 阅读
  5. Hadoop3的安装

    2024-03-26 09:52:04       43 阅读
  6. 浅谈Vue 3的响应式对象: ref和reactive

    2024-03-26 09:52:04       41 阅读
  7. Redis五种基本数据类型

    2024-03-26 09:52:04       47 阅读
  8. 动态规划 Leetcode 188 买卖股票的最佳时机IV

    2024-03-26 09:52:04       40 阅读
  9. QT(3/22)

    QT(3/22)

    2024-03-26 09:52:04      42 阅读
  10. 【C++】每日一题 137 只出现一次的数字

    2024-03-26 09:52:04       40 阅读
  11. Day8.

    2024-03-26 09:52:04       39 阅读
  12. 华为OD技术面算法题整理

    2024-03-26 09:52:04       41 阅读