ZooKeeper 会维护一个具有层次关系的数据结构,它非常类似于一个标准的文件系统:
树形结构的每个节点都被称作为Znode。
Zonde通过路径引用,如同Unix中的文件路径。路径必须是绝对的,因此他们必须由斜杠字符来开头。除此以外,它们必须是唯一的,也就是说每一个路径只有一个表示,因此这些路径不能改变。在ZooKeeper中,路径由Unicode字符串组成,并且有一些限制。字符串”/ZooKeeper”用以保存管理信息,比如关键配额信息。
2.1 数据结构
Znode兼具文件和目录两种特点。既像文件一样维护着数据、元信息、ACL(Access Control List,访问控制列表)、时间戳等数据结构,又像目录一样可以作为路径标识的一部分。
每个Znode由3部分组成:
(1)stat:此为状态信息, 描述该Znode的版本, 权限等信息
(2)data:与该Znode关联的数据
(3)children:该Znode下的子节点
ZooKeeper虽然可以关联一些数据,但并没有被设计为常规的数据库或者大数据存储,相反的是,它用来管理调度数据,比如分布式应用中的配置文件信息、状