zookeeper节点类型
节点类型
持久节点(Persistent Nodes)
这些是Zookeeper中最常见的一种节点类型,当创建一个持久类型节点时,该值会一直存在zookeeper中,直到被显式删除或被新值覆盖。
临时节点(Ephemeral Nodes)
这些节点只在创建它们的会话有效期内存在。如果会话过期或断开连接,节点会自动删除。临时节点通常用于表示分布式系统中的客户端或工作节点,例如队列或锁。
持久顺序节点(PERSISTENT_SEQUENTIAL Nodes)
顺序节点与持久节点类似,但其名称后面附加了一个序号,使得节点名称唯一。当创建顺序节点时,Zookeeper会给其名称添加一个单调递增的计数器
临时顺序节点(EPHEMERAL_SEQUENTIAL Nodes)
同持久顺序节点特性,只不过会话内有效。会话关闭会自动消失。
3.6之后的版本还增加了ttl节点和Container节点。
创建不同类型节点
使用cli.sh
create命令默认创建的时持久节点
#创建持久顺序节点
create -s /persistent_seq_node
#创建临时节点
create -e /ephemeral_node
#创建临时顺序节点
create -s -e /ephemeral_seq_node
顺序节点自动会加后缀
[zk: localhost:2181(CONNECTED) 14] create -s /persistent_seq_node
Created /persistent_seq_node0000000001
[zk: localhost:2181(CONNECTED) 15] create -s /persistent_seq_node
Created /persistent_seq_node0000000002
临时顺序节点也会自动加后置
[zk: localhost:2181(CONNECTED) 24] create -s -e /ephemeral_seq_node
Created /ephemeral_seq_node0000000004
[zk: localhost:2181(CONNECTED) 25] create -s -e /ephemeral_seq_node
Created /ephemeral_seq_node0000000005
临时节点会话关闭后会自动消失。这个端口zkCli.sh从写开启一个连接测试下即可。
使用java创建不同类型节点
zookeeper的api将抽象出一个CreateMode枚举对象来表示不同的节点类型。
使用原生api。最后一个参数指定类型
zooKeeper.create(path,"123".getBytes(),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT)
zkclient使用不同的create重载方法来创建

Curator在创建时候使用withMode来指定节点类型
client.create().withMode(CreateMode.PERSISTENT_SEQUENTIAL).forPath("/sequential_node_", data);
顺序节点的获取
一般顺序节点都会有一层父节点,然后通过调用父节点的所有子节点来获取所有的顺序节点。
如使用curator获取
List<String> strings = client.getChildren().forPath("/test");
节点状态信息
节点的状态信息被封装在Stat对象中。Stat有以下属性
public class Stat implements Record {//节点的创建事务的zxid(ZooKeeper Transaction Id),即创建时事务的IDprivate long czxid;//节点最后一次修改事务的zxid,即最后一次更新或者删除发生时的事务IDprivate long mzxid;//创建时间private long ctime;//上次修改时间private long mtime;//版本号,数据被修改次数private int version;//节点子节点的版本号,即子节点被修改的次数private int cversion;//节点ACL(访问控制列表)的版本号,即ACL被修改的次数private int aversion;//如果当前节点是临时节点,则ephemeralOwner表示当前节点的拥有者会话ID;否则,值为0private long ephemeralOwner;//数据长度private int dataLength;//子节点数private int numChildren;//子节点上次修改事务IDprivate long pzxid;}
可以通过exists方法来获取stat对象
Stat stat = zooKeeper.exists(path, false);
相关文章:
zookeeper节点类型
节点类型 持久节点(Persistent Nodes) 这些是Zookeeper中最常见的一种节点类型,当创建一个持久类型节点时,该值会一直存在zookeeper中,直到被显式删除或被新值覆盖。 临时节点(Ephemeral Nodesÿ…...
【C++】一篇文章搞懂auto关键字及其相关用法!
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
微信小程序overflow-x超出部分样式不渲染
把display:flex改成display:inline-flex, 将对象作为内联块级弹性伸缩盒显示, 类似与是子元素将父元素撑开,样式就显示出来了...
Oracle常用运维SQL-SQL执行性能及锁表等查询分析
oracle相关系列文章: docker–在Anaconda jupyter 容器中使用oracle数据源时,Oracle客户端安装配置及使用示例 Oracle常用运维SQL–用户管理、数据导入、导出的实用脚本 Oracle TEMPORARY TABLE 临时表的使用及删除报ORA-14452错误的解决办法 Oracle常用运维SQL-SQL执行性能及…...
安装MySQL时出现 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。
--------------------------- mysqld.exe - 系统错误 --------------------------- 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。 --------------------------- 确定 --------------------------- 安装MySQL时出现 “This appl…...
【基础IO⑧】:文件描述符fd(进程与文件的联系)
【基础IO⑧】:进程与文件之间的联系(文件描述符fd) 一.前言探讨[进程与文件关系]二.C语言文件操作三.系统文件调用1.open/write 四.文件描述符fd 一.前言探讨[进程与文件关系] 我们首先了解一些基本的认识: 1.文件包括文件内容和文件属性 2.…...
搭建WAMP网站教程(windows+apache+mysql+php)
之前为了学习网络安全,从搭建网站学起,对网站运行有个初步的了解。 今天翻到了之前的笔记,顺手发到csdn上了。 搭建网站步骤 一、Apache 安装Apache,下载Apache之后把Apache解压,此处解压到C:\目录下 2.然后要记得安…...
瓦斯抽采VR应急救援模拟仿真系统筑牢企业安全生产防线
矿工素质对安全生产的影响很大。传统的煤矿安全事故培训出于条件差、经验少加上侥幸心理,导致其在教学内容时过于简单且不切合实际,无法真正发挥培训作用。瓦斯检查作业VR模拟实操培训通过真实还原煤矿作业环境,让受训者身临其境地进入三维仿…...
nodelist 与 HTMLCollection 的区别
原地址 https://cloud.tencent.com/developer/article/2013289 节点与元素 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点每个 HTML 元素是元素节点HTML 元素内的文本是文本节点每个 HTML 属性是属性节点注释是注…...
系列十二、过滤器 vs 拦截器
一、过滤器 vs 拦截器 1.1、区别 (1)触发时机不一样,过滤器是在请求进入容器后Servlet之前进行预处理的,请求结束返回也是,是在Servlet处理完后,返回给前端之前; (2)过滤…...
dockerfile运行apk命令卡住的问题解决——更换镜像
在练习docker官方文档关于docker compose初体验(https://docs.docker.com/compose/gettingstarted/)过程中,执行dockerfile命令RUN apk add --no-cache gcc musl-dev linux-headers时,出现卡住的情况,等了几千秒都不行…...
Android - 编译 openssl 踩坑之路
一、简述 如果你想快速在项目中使用上 openssl,可以使用网上其他开发者提供好的预编译库: OpenSSL(All):https://builds.viaduck.org/prebuilts/openssl/OpenSSL(3.1.*) :https://github.com/217heidai/openssl_for_android以上的预编译库可能最低只支持 API 21(即 Andro…...
verdi技巧分享--合并多个fsdb文件、统计信号边沿
文章目录 0 前言1 如何显示信号高位的02 统计信号的上升沿、下降沿3 合并信号4 将多个fsdb文件合并成一个 0 前言 分享几个这段时间学到的verdi操作 1 如何显示信号高位的0 这个可能对一些有强迫症的有帮助吧 nand相关的操作,有一些特定的cmd,比如 r…...
czmq的4版本中CURVE怎么实现的两个程序之间使用的一个证书?
在CZMQ的4版本中,CURVE是一种加密机制,用于在两个程序之间建立安全的连接。要使用CURVE,你需要创建和分发公钥和私钥。以下是一个简单的步骤说明: 首先,你需要为每个程序生成一对公钥和私钥。你可以使用CZMQ的zcert类…...
Spring Boot整合Swagger
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
SpringBoot-WebSocket浏览器-服务器双向通信
文章目录 WebSocket 介绍入门案例 WebSocket 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。 应用场景: 视…...
Docker网络模式_Docker常用命令_以及Docker如何给运行的镜像内容连接互联网_Docker网络模式原理---Docker工作笔记004
然后我们来看一下docker的网络模式: 这个docker我们先看一下电脑上的网络,有两个,1个是lo是测试用的一个是enp0s3这个是我们以太网地址,然后我们去: 安装docker 安装后我们再去ip address可以看到多出来一个网络是docker0 这里ip地址是172.17.0.1这个是私有地址外部无法访问 这…...
爬虫项目-爬取股吧(东方财富)评论
1.最近帮别人爬取了东方财富股吧的帖子和评论,网址如下:http://mguba.eastmoney.com/mguba/list/zssh000300 2.爬取字段如下所示: 3.爬虫的大致思路如下:客户要求爬取评论数大于5的帖子,首先获取帖子链接,…...
【Midjourney入门教程2】Midjourney的基础操作和设置
文章目录 Midjourney的常用命令和基础设置1、 /imagine2、 /blend3、 /info4、 /subscribe5、 /settings(Midjourney的基础设置)6、 /shorten 有部分同学说我不想要英文界面的,不要慌: 点击左下角个人信息的设置按钮,找…...
后端使用DES加密,前端解密方法
前言: 现在为了防止用户直接篡改数据会采用加密的方式进行传输,加密的方法有很多种,这篇文章主要讲解下后端使用DES加密的数据传输给前端,前端接收到之后如何去解密。 操作步骤如下: 1.安装crypto-js npm install c…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...
欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!
多连接 BLE 怎么设计服务不会乱?分层思维来救场! 作者按: 你是不是也遇到过 BLE 多连接时,调试现场像网吧“掉线风暴”? 温度传感器连上了,心率带丢了;一边 OTA 更新,一边通知卡壳。…...
