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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsonObject_jsonobject.tobean

    jsonObject_jsonobject.tobeanJSONObject简介转自:http://blog.csdn.net/huangwuyi/article/details/5412500JSONObject与JSONArray的使用一、JAR包简介     要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:     1.commons-lang.jar     2.comm

    2022年9月15日
    0
  • 关于IntelliJ Idea搭建javaweb项目出现的Error filterStart错误解决

    关于IntelliJ Idea搭建javaweb项目出现的Error filterStart错误解决随着java行业的快速发展,我们用的开发工具也从eclipse转到了IntelliJIdea,我相信很多朋友在用idea的时候都出过各种问题,今天我要说的这个问题,也是我耗费了一天时间才找到问题的缘由。          因为公司需要,我用idea搭建了一个Struts2+mybatis+spring的项目,因为之前没怎么用过idea,所以搭建的时候遇到了很多问题。在pom文件里把需要的

    2022年7月11日
    47
  • dhcp option 67_DHCP HOST

    dhcp option 67_DHCP HOST1)DHCP客户端在初始化时广播发送请求报文,这时的请求报文并不包含option82选项。2)DHCP中继代理将option82选项添加到接收到的请求报文尾部后中继转发给DHCP服务器。DHCPOPTION82选项的子选项1(代理电路ID)默认是DHCP客户端所连接的交换机的接口信息(VLan名加物理端口名),也可以由用户自己配置代理电路ID,option82选项的子选项2(代理远程ID)是DHCP中继设备本身的MAC地址。3)DHCP服务器收到DHCP中继设备转发的DHCP请求…

    2022年10月16日
    0
  • deepin安装rabbitvcs svn[通俗易懂]

    deepin安装rabbitvcs svn[通俗易懂]https://bbs.deepin.org/post/189817

    2022年7月18日
    16
  • 机器学习导论(张志华):多项式分布

    机器学习导论(张志华):多项式分布前言这个笔记是北大那位老师课程的学习笔记,讲的概念浅显易懂,非常有利于我们掌握基本的概念,从而掌握相关的技术。基本概念两个矩阵相似:两个矩阵特征值一样。两个矩阵合同:矩一样,就是个数一样。#高斯分布的特性知道μ和σ\mu和\sigmaμ和σ就可以确定这个分布,是它的信息量。流形学习(manifoldlearning)学习的是空间局部点之间的关系。多项式分布Themult…

    2022年10月10日
    0
  • FindWindow使用方法_find do

    FindWindow使用方法_find do查找指定窗口 TCHARszTitle[MAX_PATH]={0}; HWNDhwnd=::FindWindow(TEXT(“#32770”),TEXT(“飞鸽传书IPMessenger”)); if(hwnd!=NULL) { //修改窗口标题 ::SetW…

    2022年8月13日
    3

发表回复

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

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