ZooKeeper中数据平时都在内存中通过一个叫ZkDataBase的类来管理维护的,同时ZooKeeper提供了Snapshot(快照)的方式可以将ZkDataBase持久化到磁盘,防止数据丢失。

ZkDataBase通过DataTree保存整个树形数据结构。一个DataTree的每个节点是DataNode来表示。

以上就是ZooKeeper中的znode的数据结构了。

ZkDataBase读数据和写数据的实现逻辑都是通过DataTree实现的,主要包括getNode、getData、getACL、getChildren等操作接口。

结构示意:
image

图片转自:分布式服务框架 Zookeeper 管理分布式环境中的数据


老污的猫
30 声望5 粉丝