第四章 Zookeeper技术内幕

4.1 重要理论

4.1.1 数据模型 znode

  zk数据存储结构是一个树形结构,根节点下挂载子节点,每个节点都是一个znode,是zk中数据的最小单元,每个znode都可以保存数据

  1. 节点类型

  持久节点:节点被创建后一直保存,直到删除

  持久顺序节点:父节点为儿子节点记录创建的顺序,即创建时在节点名字后添加数字,一共10位10进制数,从0开始计数

  临时节点:临时节点的生命周期和客户端的会话绑定在一起,会话消失则被清理。临时节点只能做叶子节点

  临时顺序节点:顺序含义同持久顺序节点

4.1.4 Watcher机制

  zk通过Watcher机制实现发布/订阅模式

  1. 原理

  第四章 Zookeeper技术内幕

  2. watcher事件

  比较重要的两个事件:

  NodeDataChanged,watcher监听对应数据节点的数据内容发生变化

  NodeChildrenChanged,watcher监听的节点的子节点列表发生变化

  3. watcher特性

  一次性:watcher触发后,zk将其从客户端的watcherManager中删除,服务器端也会删除该watcher。所以watcher机制不适合监听经常变化的场景。譬如Kafka将offset的管理放到了自身

  串行:一个watcher事件完全处理完(回调并删除),才能开始注册新的watcher

  轻量级:传递给服务端的是简易版watcher,回调逻辑放在客户端,不在服务器

4.2 客户端

  1. ZKClient

  2. Curator

 

上一篇:程序员深度学习!高端java培训课程


下一篇:Zookeeper安装