码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

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

    2、Znode中的存在类型

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

    # create  /demo01 java01
    
    • 1

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

    # create -s /demo011 java011
    
    • 1

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

    # create -e /demo2 java2
    
    • 1

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

    # create -s -e /demo03 /java03
    
    • 1

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

  • 相关阅读:
    shopify二次开发在首页调用最新的博客文章
    数据结构-散列表
    SpringBoot项目整合Vue做一个完整的用户注册功能
    React中StrictMode严格模式,导致开发环境,接口会请求两次或多次( useEffect 请求多次)
    OpenCV 笔记(2):图像的属性以及像素相关的操作
    华为云云耀云服务器L实例评测 | 实例场景体验之搭建接口服务:通过华为云云耀云服务器构建 API 服务
    ssm基于JavaEE的电脑销售管理系统设计与实现毕业设计源码021143
    云原生一之Docker篇
    史上最详细的sqlmap使用教程
    高效查单,将查到的物流信息导出表格保存
  • 原文地址:https://blog.csdn.net/qq_39311377/article/details/132524944
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号