当前位置: 首页 > news >正文

ZooKeeper数据模型/znode节点深入

1、Znode的数据模型
1.1 Znode是什么?
Znode维护了一个stat结构,这个stat包含数据变化的版本号、访问控制列表变化、还有时间戳。版本号和时间戳一起,可让Zookeeper验证缓存和协调更新。每次znode的数据发生了变化,版本号就增加。
1.2 ZooKeeper的Stat结构体
在这里插入图片描述

czxid- 引起这个znode创建的zxid,创建节点的事务的zxid(ZooKeeper Transaction Id)
每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。
事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。
ctime - znode被创建的毫秒数(1970年开始)
mzxid - znode最后更新的zxid
mtime - znode最后修改的毫秒数(1970年开始)
pZxid-znode最后更新的子节点zxid
cversion - znode子节点变化号,znode子节点修改次数
dataversion - znode数据变化号
aclVersion - znode访问控制列表的变化号
ephemeralOwner- 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0x0。
dataLength- znode的数据长度
numChildren - znode子节点数量

例:
(1)创建新的子节点,并添加数据。
(2)获取新创建的子节点。
(3)修改创建的子节点内容。
(4)获取修改后的子节点内容。
使用help 查看有哪些命令
在这里插入图片描述

案例所对应的命令
(1)create /test javademo1
(2)get /test
(3)set /test javademo2
(4)get /test

2、Znode中的存在类型

2.1 PERSISTENT-持久化目录节点
客户端与zookeeper断开连接后,该节点依旧存在

# create  /demo01 java01

2.2 PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

# create -s /demo011 java011

2.3 EPHEMERAL-临时目录节点
客户端与zookeeper断开连接后,该节点被删除

# create -e /demo2 java2

2.4 EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

# create -s -e /demo03 /java03

默认情况下是持久化节点!

http://www.lryc.cn/news/154236.html

相关文章:

  • 容器编排工具的比较:Kubernetes、Docker Swarm、Nomad
  • nginx--技术文档--架构体系--底层核心-原理
  • Java23种设计模式之【单例模式】
  • SQLserver基础入门理论(超基础)二
  • macbookpro怎么删除软件没有鼠标
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:241-260)
  • PHP8内置函数中的变量函数-PHP8知识详解
  • 9月3日,每日信息差
  • 2023年了,java后端还有未来吗?
  • 使用cmake,将github上的某一个库进行集成到vs2022上
  • 第二张微服务的调用与注册
  • iWatch框架设计
  • 【python】读取.dat格式文件
  • 机器学习课后习题 --- 朴素贝叶斯
  • 【设备树笔记整理7】实践操作
  • 使用VisualStudio制作上位机(六)
  • 包管理工具--》npm的配置及使用(一)
  • 期货基础知识
  • NC后端扩展开发
  • nginx vue2+webpack 和 vue3+vite 配置二级目录访问
  • 无需租云服务器,Linux本地搭建web服务,并内网穿透发布公网访问
  • 算法leetcode|76. 最小覆盖子串(rust重拳出击)
  • 如何让你的jupyter notebook 排版得像Word(Markdown和网页文件写法)
  • AndroidTV端:酒店扫码认证投屏DLNA
  • 基于PyTorch的交通标志目标检测系统
  • feign调用失败 feign.RetryableException: xxx-service executing GET http://xxx/test
  • mysql 用户管理
  • pyinstaller打包exe运行闪退
  • ARM 汇编基础知识
  • CRM 自动化如何改善销售和客户服务?