ZooKeeper提供的名称空间非常类似于标准文件系统。ZooKeeper的数据存储是基于节点的,这个节点叫做Znode,Znode的引用方式是路径引用,是由斜线(/)分隔的层级结构,让每一个Znode节点拥有唯一的路径。

Znode兼具文件和目录两种特点。既像文件,又像目录一样可以作为路径标识的一部分。Znode维护着:
data:Znode存储的数据信息
ACL:记录Znode的访问权限
stat:包含Znode的各种元数据,比如事务ID、版本号、时间戳、大小等等
child:当前节点的子节点引用
把以上几类属性细化,又可以得到以下属性的细节:
cZxid:表示节点被创建时的事务 ID
mZxid:表示节点最后一次被修改时的事务 ID
ctime:表示节点创建时间
mtime:表示节点最后一次被修改的时间
pZxid:表示该节点的子节点列表最后一次被修改时的事务 ID。只有子节点列表变更才会更新 pZxid,子节点内容变更不会更新
cversion:表示子节点的版本号
dataVersion:表示内容版本号
dataLength:表示数据长度
numChildren:表示子节点数
ephemeralOwner:表示创建该临时节点时的会话 sessionID,如果是持久性节点那么值为 0
Zxid
致使ZooKeeper节点状态改变的每一个操作都将使节点接收到一个Zxid格式的时间戳,并且这个时间戳全局有序。也就是说

Zookeeper的名称空间类似文件系统,基于Znode构建,每个Znode包含数据、权限、元数据和子节点引用。Znode具有版本号和Zxid,用于跟踪更改。Zxid是全局有序的时间戳,版本号记录节点修改次数。Znode分为临时和永久节点,临时节点随session消失。四种节点类型满足不同场景需求:持久化、持久化顺序、临时和临时顺序节点。
最低0.47元/天 解锁文章
1030

被折叠的 条评论
为什么被折叠?



