zookeeper – 数据存储结构(11)

zookeeper – 数据存储结构(11)

概述

    这是写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本身进行保存。

img_bb85c85c24a99d9b84db531b293aa70b.png

dataTree的核心数据结构

img_a175e971032ded55b5745e400ed606c2.png

DataNode的核心数据结构

img_8a723c076195185a171250e997e6ac63.png

创建节点的核心逻辑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101660.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 背包九讲——全篇详细理解与代码实现

    背包九讲——全篇详细理解与代码实现dd_engi背包九讲的个人整理,包含代码例题及个人理解

    2022年6月28日
    27
  • Vertica对于所计算的时间SQL声明大全

    Vertica对于所计算的时间SQL声明大全

    2022年1月9日
    32
  • 线性代数 行列式

    线性代数分为六大块:行列式矩阵向量方程组特征值二次型行列式一、行列式的概念1、二、三阶行列式2、排列、逆序、逆序数3、n阶行列式概念二、行列式的性质三、按行(列)展开公式1、代数余子式2、展开公式四、克拉默法则…

    2022年4月6日
    50
  • 网管工具 dstat[通俗易懂]

    网管工具 dstat[通俗易懂]dstat是一个用来替换vmstat,iostat,netstat,nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。

    2022年10月6日
    1
  • html语言添加下划线,HTML页面中怎么文本添加下划线?[通俗易懂]

    html语言添加下划线,HTML页面中怎么文本添加下划线?[通俗易懂]怎么在HTML页面中给文本添加下划线?下面本篇文章就来给大家介绍一下HTML、CSS给文本添加下划线的方法,希望对大家有所帮助。HTML添加下划线在HTML中可以使用标签定义下划线文本,即为文本添加下划线。下划线标签告诉浏览器把加入到u标签的文本加下划线样式呈现显示给浏览者。对于所有浏览器来说,这意味着要把这段文字加下划线样式方式呈现给大家显示。语法:我被加下划线了说明:标签定义与常规文本风格不…

    2022年6月3日
    39
  • 中国著名的D版和激活成功教程软件下载网站(转)「建议收藏」

    中国著名的D版和激活成功教程软件下载网站(转)「建议收藏」中国著名的D版和激活成功教程软件下载网站 (1)无忧软件网 – 不可多得的激活成功教程软件下载基地,附有无忧书库,无忧字体,代码基地,无忧教学,**园地,完全游戏http://www.51soft.com/ ;(2)精品软件秀 – 软件下载网页,可惜更新太慢!分类清楚,更新及时,也值得一看。http://www.ohsoft.com/ ;(3)163软件园 – 163软件园是国内著名的软件网站,网站定位是提供“提

    2022年6月18日
    89

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号