zookeeper--znode数据结构详解

https://www.jianshu.com/p/cbe5f0dd6cca

一、概念详解

zxid

Zookeeper中每个状态变化都会产生一个全局唯一的zxid (ZooKeeper Transaction Id),通过它可确定更新操作的先后顺序,每个更改都将有一个唯一的 zxid。例如,zxid1小于zxid2,则说明zxid1操作先执行,zxid2后执行; zxid对于整个Zookeeper都是唯一的,即使操作的是不同的znode。

Version numbers

zookeeper中又三种version,cversion、dataVersion、aclVersion ;每次znode状态更改都会导致其中一个版本值增加。当前节点的子节点每次变化时cversion值增加1;当前节点的数据每次变化时dataVersion值增加1;当前节点的acl权限每次变化时aclVersion 值增加1

Ticks

tickTime:一次心跳的基本时间;是ZK使用的基本时间单位,这个参数用于配置一个tick的长度,单位为毫秒,默认配置文件设定的是2000;被用作心跳(heartbeats )测试时间间隔和session的超时设置,最小的session超时时间是tickTime的两倍。

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5

二、默认znode

zookeeper 服务器中有两个默认的znode,详情如下:

[zk: localhost:2181(CONNECTED) 2] ls -R /zookeeper
/zookeeper
/zookeeper/config
/zookeeper/quota
[zk: localhost:2181(CONNECTED) 3]

三、结构字段详解

一个znode展示的结构字段如下

cZxid = 0x184
ctime = Tue Mar 26 15:44:15 CST 2024
mZxid = 0x193
mtime = Tue Mar 26 18:30:18 CST 2024
pZxid = 0x18b
cversion = 4
dataVersion = 5
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 4
结构字段 描述
cZxid create zxid 即该数据节点被创建时的事务id
ctime create time ,即该节点的创建时间
mZxid modified ZXID,即该节点最终一次更新时的事务id
mtime modified time,即该节点最后一次的更新时间
pZxid 该节点的子节点列表最后一次修改时的事务id,只有子节点列表变更才会更新pZxid,子节点内容变更不会更新
cversion 子节点更改的次数,当前节点的子节点每次变化时值增加1
dataVersion 数据节点内容版本号,节点创建时为0,每更新一次节点内容(不管内容有无变化)该版本号的值增加1
aclVersion 节点的ACL版本号,表示该节点ACL变更次数
ephemeralOwner 创建该临时节点的会话的sessionId;如果当前节点为持久节点,则ephemeralOwner=0
dataLength 当前节点数据长度
numChildren 当前节点的子节点数量

相关推荐

  1. zookeeper--znode数据结构详解

    2024-03-31 11:54:06       37 阅读
  2. Zookeeper-数据结构

    2024-03-31 11:54:06       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 11:54:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 11:54:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 11:54:06       82 阅读
  4. Python语言-面向对象

    2024-03-31 11:54:06       91 阅读

热门阅读

  1. 大AI与小AI盈利点在哪里?AI积木与图谱视角

    2024-03-31 11:54:06       39 阅读
  2. TYPORA笔记

    2024-03-31 11:54:06       44 阅读
  3. Concul 配置中心 微服务的配置

    2024-03-31 11:54:06       37 阅读
  4. python 报错问题汇总

    2024-03-31 11:54:06       39 阅读
  5. K8S 运维管理

    2024-03-31 11:54:06       39 阅读
  6. 基于UDP的可靠传输协议QUIC协议

    2024-03-31 11:54:06       40 阅读
  7. AtCoder_ABC130_Rectangle Cutting

    2024-03-31 11:54:06       33 阅读
  8. 什么是计算机视觉?计算机视觉:从基础到前沿

    2024-03-31 11:54:06       35 阅读
  9. 算法与数据结构 顺序表

    2024-03-31 11:54:06       41 阅读