zookeeper

zookeeper - 数据存储结构(11)

2018-05-15  本文已影响26人  晴天哥_王志

概述

    这是写zookeeper过程中最轻松的一篇文章了,因为zookeeper的data存储结构是比较简单的,所以整个文章也比较简单。

zookeeper数据结构

    首先zookeeper的核心保存结构是一个DataTree数据结构,其实内部是一个Map<String, DataNode> nodes的数据结构,其中key是path,DataNode是真正保存数据的核心数据结构。

    DataNode核心字段包括byte data[]用于保存节点内容,Long acl用于保存data的acl规则,Set<String> children其实就是保存该DataNode下属的子节点的path。

    最后一个源码截图说明了我们创建一个节点的时候如何处理parent和children的相关节点的存储,其实说白了就是所有的节点保存在DataTree<String, DataNode> nodes的数据结构当中,然后每个DataNode本身保存其children的path。说白了就是DataNode在一个统一的地方保存,然后父子关系由各个DataNode本身进行保存。

dataTree的核心数据结构 DataNode的核心数据结构 创建节点的核心逻辑
上一篇下一篇

猜你喜欢

热点阅读