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)
上一篇 2021年6月5日 上午9:00
下一篇 2021年6月5日 上午10:00


相关推荐

  • pxe装机「建议收藏」

    pxe装机「建议收藏」安装环境:一台已安装Linux系统的主机作为PXEServer,本文中PXEServer使用的系统是CentOS7;若干台待安装CentOS7的裸主机作为PXEClient;PXEServer与所有PXEClient处于同一局域网中;所有主机支持PXE启动安装方式。PXEServer安装及配置流程:\1.配置DHCP服务\2.配置TFTP服务\3.配…

    2022年6月16日
    34
  • 图解 Vue 响应式原理

    图解 Vue 响应式原理最近部门分享,有同学提到了Vue响应式原理,大家在讨论时,发现一些同学对这一知识理解还不够深入,不能形成一个闭环,为了帮助大家理解这个问题,我重新过了一下Vue源码,并整理了多张流程图,便于大家理解。Vue初始化模板渲染组件渲染本文Vue源码版本:2.6.11,为了便于理解,均有所删减。本文将从以下两个方面进行探索:从Vue初始化,到首次渲染生成DOM的流程。从Vue数据修改,到页面更新DOM的流程。Vue初始化先从最简单的一段Vue

    2022年4月30日
    40
  • asf挂卡配置文件_win10系统开挂蓝屏

    asf挂卡配置文件_win10系统开挂蓝屏前文最近发现之前在淘宝入手的慈善包游戏很多游戏时长还是零,当代青年怎么能容忍这种情况!浪费可耻,两毛一张的卡片不香吗,所以就打算挂卡了。简单教程适合新手入门正文01、老规矩咱还是到最大的同性交友网站下载资源,咱直接下载个最新版4.2.0.11-1、github下载(选择win10版本)https://github.com/JustArchiNET/ArchiSteamFarm/releases1-2、百度网盘下载也可以对于在github下载慢的同学给个网盘链接https://link.z

    2025年6月30日
    2
  • CTR预估算法之FM, FFM, DeepFM及实践

    CTR预估算法之FM, FFM, DeepFM及实践目录目录CTR预估综述FactorizationMachines(FM)算法原理代码实现Field-awareFactorizationMachines(FFM)算法原理代码实现DeepFM算法原理代码实现参考文献CTR预估综述点击率(Clickthroughrate)是点击特定链接的用户与查看页面,电子邮…

    2022年6月12日
    42
  • NHibernate教程

    NHibernate教程 一、NHibernate简介在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.Net环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate除了能将一张表映射为

    2022年7月12日
    23
  • rtmp协议详解_rtmp服务器

    rtmp协议详解_rtmp服务器前言最近在学习rtmp协议,在看官方文档的时候总是懵懵懂懂,硬生生看了两天,现在基本上了解rtmp协议了,想用自己觉得比较清晰的方式来讲解rtmp协议,希望能够对向我一样的初学者有所帮助。本文将通过以下四部分讲解rtmp协议。1、消息2、块3、rtmp的消息类型4、实例分析rtmp传输过程一、消息消息是rtmp的基本数据单元,服务端和客户端通过在网络上发送RTMP消息进行通讯。…

    2025年8月21日
    6

发表回复

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

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