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

一、Zookeeper数据类型:层次化目录结构+少许数据node

        Zookeeper包含层次化的目录结构,每一个Znode都有惟一的路径标识,Znode能够包含数据和子节点。服务器

        其中Znode数据能够有多个版本,若该路径下包含多个数据版本,查询这个路径下的数据时,须要带上版本。server

 

 二、Zookeeper节点类型:临时节点(ephemeral)、持久节点(persistent)、顺序节点(sequence)。节点类型在建立时肯定,以后不可修改。生命周期

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

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

 

  也能够说是四种:class

(1)PERSISTENT-持久节点除非手动删除,不然节点一直存在于 Zookeeper 上监控

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

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

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

 

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

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

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

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

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

四、Watcher监听机制:

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

(2)监控子目录变化

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

 

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

相关文章
相关标签/搜索