ZooKeeper中可以创建一些节点,每一个节点都唯一对应着一个用斜线分割的绝对路径,可以称之为节点路径。并且可以为节点关联相应的数据。 这些节点构成类似于文件系统的树形一样的层次结构。
在zookeeper中,没有使用相对路径的节点。
除了下面几种情况,任何unicode字符都可以作为节点路径的一部分:
1. null 字符(\u0000)。
2. \u0001 - \u0019 和 \u007F - \u009F。
3. \ud800 -uF8FFF, \uFFF0-uFFFF, \uXFFFE - \uXFFFF , \uF0000 - \uFFFFF。
4. ‘.’可以作为路径名字的一部分,但是’.’和’..’不能单独作为路径的一部分。(例如/a/b/./c或者/a/b/../c)
5. ‘zookeeper’是保留字。
Znode
在ZooKeeper中,每一个节点都称之为zonde。
znode是版本控制的,它维护一个统计结构体,包含数据更改和ACL更改的版本号。这个结构体还包含时间戳字段。版本号和时间戳让ZooKeeper可以校验缓存,协调更新。
ZooKeeper中每个znode的Stat结构体由下述字段构成:
- czxid:创建znode的事务的zxid
- mzxid:最近修改znode的事务的zxid
- ctime:znode的创建时间(以距离时间原点(epoch)的毫秒数表示)
- mtime:znode的最近修改时间(以距离时间原点(epoch)的毫秒数表示)