zookeeper - 数据存储结构(11)

概述

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


zookeeper数据结构

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

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

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


zookeeper - 数据存储结构(11)_第1张图片
dataTree的核心数据结构


zookeeper - 数据存储结构(11)_第2张图片
DataNode的核心数据结构


zookeeper - 数据存储结构(11)_第3张图片
创建节点的核心逻辑

你可能感兴趣的:(zookeeper - 数据存储结构(11))