Zookeeper数据类型、节点类型、角色、watcher监听机制


1、Zookeeper数据类型:层次化目录结构+少量数据

        Zookeeper包含层次化的目录结构,每个Znode都有唯一的路径标识,Znode可以包含数据和子节点。

        其中Znode数据可以有多个版本,若该路径下包含多个数据版本,查询这个路径下的数据时,需要带上版本。

 

 2、Zookeeper节点类型:临时节点(ephemeral)、持久节点(persistent)、顺序节点(sequence)。节点类型在创建时确定,之后不可修改。

(1)临时节点在客户端会话结束后,zookeeper会将该临时节点删除,且临时节点不可有子节点。

(2)持久节点不依赖于客户端的会话,只有客户端明确要删除该持久节点,才会将其删除。

 

  也可以说是四种:

(1)PERSISTENT-持久节点除非手动删除,否则节点一直存在于 Zookeeper 上

(2)EPHEMERAL-临时节点临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与zookeeper 连接断开不一定会话失效),那么这个客户端创建的所有临时节点都会被移除。

(3)PERSISTENT_SEQUENTIAL-持久顺序节点基本特性同持久节点,只是增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

(4)EPHEMERAL_SEQUENTIAL-临时顺序节点基本特性同临时节点,增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

 

3、Zookeeper角色:leader领导者、follower跟随者、observer观察者、client客户端

(1)leader:负责投票的发起和决议,更新系统状态,处理事务请求。

(2)follower跟随者:参与投票,接收客户端请求,处理非事务请求并返回结果,转发事务请求给leader。

(3)observer观察者:不参与投票过程,只同步leader状态,为了扩展系统,提高读写速度。也接收客户端请求,处理非事务请求并返回结果,转发事务请求给leader。

(4)client客户端:请求发起方。

4、Watcher监听机制:

(1)监控目录节点数据变化

(2)监控子目录变化

(3)一旦这些节点发生变化,服务器就会通知所有设置在这个目录节点上的Watcher,使得每个客户端都很快知道其关注的目录节点的状态发生变化,从而做出相应反应。

 

节点类型和Watcher监听机制,是解决所有应用场景问题的出发点和落脚点。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM