1. 数据模型
类似于文件系统,但是每个路径都可以像文件一样存储数据,但是对命名是有一些规则的(具体配置项见下 zookeeper时间追踪方式),要注意的是,通常c(create)为前缀的配置项是创建时就固定的,m(modified)为前缀的是信息更改时修改的配置项:
https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkDataModel
znode节点数据结构(也称做 状态,state),如下:
cZxid = 0x28
ctime = Mon Jan 28 02:08:10 CST 2019
mZxid = 0x2d
mtime = Mon Jan 28 02:08:26 CST 2019
pZxid = 0x28
cversion = 0
dataVersion = 5 数据版本,验证缓存和定位更新
aclVersion = 0
ephemeralOwner = 0x0 当前会话的id,如果不是ephemeral,则置为0
dataLength = 5
numChildren = 0
Ephemeral Nodes: 临时节点,客户端会话结束的时候就消失
Sequence Nodes: 为节点添加唯一标识,eg:<path>0000000001,当然啦,zookeeper使用java写的,标识变量用的是int,so,你懂的。使用格式 %010d, 10是十位数字,0是每两个序列间的跨距。
zookeeper时间追踪方式
1. zxid 2. version numbers 3. ticks 4. real time
网友评论