zookeeper Curator 事件监听

代码部分在:
https://www.malaoshi.top/show_1IXKlV9K32w.html

介绍

Curator 事件有两种模式:

  1. 标准的观察模式

  2. 缓存监听模式,分为:

    • Path Cache
    • Node Cache
    • Tree Cache(推荐)

Watcher 标准的事件处理器

zookeeper官方的监听方式,Watcher 监听器是一次性的,如果要反复使用,就需要反复的使用usingWatcher提前注册

所以,Watcher监听器 不能应用于节点的数据变动 或者 节点变动 这样的一般业务场景。而是适用于一些特殊的,比如会话超时、授权失败等这样的特殊场景。

Cache缓存监听模式

Watcher监听比较繁琐,Curator引入了Cache来监听ZooKeeper,Cache对ZooKeeper事件监听进行了封装,能够 自动处理反复注册监听

该模式引入了一种本地缓存视图的Cache机制,来实现对Zookeeper服务端事件监听。

Cache事件监听可以理解为一个 本地缓存视图 与 远程Zookeeper视图 的对比过程。Cache提供了 反复注册 的功能。

Cache是一种缓存机制,可以借助Cache实现监听。简单来说,Cache在客户端缓存了znode的各种状态,当感知到zk集群的znode状态变化,会触发event事件,注册的监听器会处理这些事件。

Cache事件监听有3种:

  • Path Cache
  • Node Cache
  • Tree Cache

NodeCache 节点缓存的监听

可以用于监控本节点的新增,删除,更新

PathChildrenCache 子节点监听

用于子节点的监听,监控本节点的子节点被创建、更新或者删除。

注意:

  1. 只能监听子节点,监听不到当前节点

  2. 不能递归监听,子节点下的子节点不能递归监控

Tree Cache 节点树缓存

Tree Cache可以看做是 NodeCache 和 PathChildrenCache 的合体,Tree Cache观察的是当前ZNode节点的所有数据。而TreeCache节点树缓存是PathChildrenCache的增强,不光能监听子节点,也能监听节点自身。

感谢:
https://blog.csdn.net/crazymakercircle/article/details/85922561


原文出处:/show_1IXKll9pCf8.html