面试官问:ZooKeeper 有几种节点类型?别回答 4 种啦
一、关于 ZK 的节点类型
大家如果刷过 ZK 相关面试题的话,就一定会刷到过 “ZK 有几种节点类型?”,大家通常背书的答案的话是:4 种!但其实 ZK (3.6.2)服务端支持 7 种节点类型,分别是:
持久 持久顺序 临时 临时顺序 容器 持久 TTL 持久顺序 TTL
这 7 种类型之前的文面试章中也有提到过,但是并没有展开讲。这次更新的单篇想要把这 7 种类型的节点,认认真真的讲一遍!Let's GO
二、简单介绍 2.1 持久、临时
持久不用我多说,是用的最多的一种类型,也是默认的节点类型,临时节点相较于持久节点来说,就是它会随着客户端会话结束而被删除,通官问常可以用在一些特定的场景,例如分布式锁释放,健康检查等。
2.2 持久顺序、临时顺序
这两种我放在一起介绍,因为他们相对于上面两种的特性就是 ZK 会自动在这两种节点之后增加一个数字的后缀,而路径 + 数字后缀是能保证唯一的,这数字后缀的应用场景可以实现诸如分布式队:Z列,分布式公平锁等。
2.3 容器
容器节点是 3.5 以后新增的节点类型,只要在调用 create 方法时,指定 CreateMode 为 CONTAINER 即可创建容器的节点类型,容器节点的表现形式和持久节点是一样的,但是区别是 ZK 服务端启动后,会有一个单独的线程去扫描,oo所有的容器节点,当发现容器节点的子节点数量为 0 时,会自动删除该节点,除此之外和持久节点没有区别,官方注释给出的使用场景是 Container nodes are special purpose nodes useful for recipes such as leader, loKeck, etc. 说可以用在 leader 或者锁的场景中。
2.4 持久 TTL、持久顺序 TTL
关于持久和顺序这两个关键字,不用我再解释了,这两种类型的节点重点是后面的 TTL,TTL 是 time to live 的缩写,指带有存活时间,简单来说就是当该节点下面没有子节点的话,超过了ep TTL 指定时间后就会被自动删除,特性跟上面的容器节点很像,只是容器节点没有超时时间而已,但是 TTL 启用是需要额外的配置(这个之前也有提过)配置是 zookeeper.extendedTypesEnabled 需要配置成 true,否则的话创建 TTL 时会收到 Uniermplemented 的报错
三、原理介绍
单纯的持久和临时节点我就不介绍了,之前的系列文章有讲
3.1 顺序关键字
客户端创建一个顺序节点的时候,服务端得知当前节点是顺序节点的时候会自动给路径加上后缀,后缀就是父节点的 cversion,代表创建子节点的个数
if 有(createMode.isSequential()) { path = path + String.format(Locale.ENGLISH,&nbs几种p;"%010d", parentCVersion); }
就是这么简单~
3.2 容器、TTL 关键字
这两种其实可以放在一起讲,服务端在启动的时候会额外启动一个定时任务线程,会定期的扫描所有的容器和 TTL 的节点,逐一判断子节点的节点数量以及一些相关配置,来决定是否删除,首先整个逻辑是在 ContainerManager 中,定时任务是由 TimeTask 实现的,相关的配置有
配置项 默认值 说明 znode.container.checkIntervalMs 60000(毫秒) 定时任务检查的间隔类型 znode.container.maxPerMinute 10000 和上面的参数联合成为最小的检查间隔,每个节点间隔必须差 (60000 / 10000)毫秒(默认 6 毫秒)以上 znode.container.maxNeverUsedIntervalMs 0 如果配置不为 0 的?别话,当容器和 TTL 节点最后一次更新的时间和当前时间戳的差超过这个值的话,也会被删除 四、小结 持久关键字:客户端不主动删除的话,节点数据会一直存在 临时关键字:客户端连接断开后,节点数据会被一起删除 顺序关键字:服务端会自动为该节点加数字回答后缀 容器:服务端会定期扫描这些节点,当该节点下面没有子节点时(或其他条件时)服务端会自动删除节点 TTL:需要额外配置才能启用,基本和容器相同,当超过 TTL 时间节点下面都没有再创建子节点时会被删除,但是当创建子节点会重置该超时时间
(责任编辑:医疗器械)
-
云梦级3月30日云梦级消息,据IT之家援引外媒报道,埃隆 · 马斯克最初组建的 xAI 创始团队,现已全部离场。据知情人士透露,11 名联合创始人之一的罗斯 · 诺丁已于当地时间 3 月 27 日正式...[详细]
-
云安全日报211015:思科IP电话软件发现任意文件读取漏洞,需要尽快升级
10月14日,思科公司发布了安全更新,修复了IP电话软件中发现的任意文件读取漏洞。以下是漏洞详情: 漏洞详情 来源: https://tools.cisco.com/security/center/c...[详细]
-
云安全日报220510:红帽OpenShift云应用平台发现拒绝服务漏洞,需要尽快升级
Red Hat OpenShift Container Platform(红帽OpenShift容器平台)是美国红帽(Red Hat)公司的一套可帮助企业在物理、虚拟和公共云基础架构之间开发、部署和管...[详细]
-
3月12日,迅雷公布了截至2025年12月31日第四季度及2025全年未经审计的财报。 财报显示,2025年全年总营收达4.624亿美元,同比增长42.5%;第四季度营收达1.433亿美元,同比增长7...[详细]
-
1月7日消息,市场监管总局和国家网信办联合发布《网络交易平台规则监督管理办法》,旨在规范网络交易平台规则制定、修改和执行,维护网络交易秩序,保护网络交易各方主体合法权益。 《办法》聚焦网络交易平台经营...[详细]
-
电子狗惨遭丢弃,戴上VR头显找到老友!Meta打出元宇宙感情牌
Meta打出了元宇宙的「感情牌」。 不得不说,是高手! 玩偶狗的元宇宙 近日,Meta的Quest 2推出了一支新的视频「Old Friends. New Fun」。 视频展示了,一支由动物机械玩偶组...[详细]
-
云梦级3月13日云梦级消息,苹果公司宣布自3月15日起,中国内地(大陆)App Store的标准佣金率将从30%下调至25%,小型开发者及特定项目的优惠佣金率亦将从15%降至12%。 针对苹果此次调整...[详细]
-
Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【烟台公安破获新型网络水军案】 今年 7 月份以来,小米公司、华为鸿蒙智行、理想汽车等企业先后报警称某平台集中涌现大量针对其汽车品牌...[详细]
-
注释掉 on('data') 请求为什么一直挂着?― 了解 Node.js Stream 的两种模式
这是来自「Nodejs技术栈」交流群一位读者朋友提的一个问题,“如果注释掉 req.on('data') 事件监听,end 事件就收不到了,进而永远也不会执行 res.end(),请求会被一直挂着,为...[详细]
-
阿里通义7款模型屠榜Hugging Face!全模态大模型Qwen3-Omni登顶全球第一
9月28日,全球最大AI开源社区Hugging Face公布新一期模型榜单,阿里通义7款模型包揽全球前十开源模型榜单,其中刚刚开源的全模态大模型Qwen3-Omni强势登顶。 Qwen3-Omni实现...[详细]
- https://www.pearson.com/en-us/search.html?aq=小旋风万能蜘蛛池【tg:seogoogle987】,4Pq
- https://www.soccerbible.com/search?q=小旋风万能蜘蛛池【tg:seogoogle987】,xcR
- https://www.udc.co.uk/index.php?route=product/search&sort=p.price&order=DESC&tag=小旋风万能蜘蛛池【tg:seogoogle987】,ZDP
- https://www.toy-people.com/?s=小旋风万能蜘蛛池【tg:seogoogle987】,zvV
- https://www.mingwai.edu.hk/?langzh-hant&s=小旋风万能蜘蛛池【tg:seogoogle987】,ZH8
- https://www.abbreviations.com/小旋风万能蜘蛛池【tg:seogoogle987】ZZD
- https://www.stonerealestate.com.au/?cat=100&s=小旋风万能蜘蛛池【tg:seogoogle987】,Sdq
- https://www.target.com/s?searchTerm=小旋风万能蜘蛛池【tg:seogoogle987】,AN1
- https://www.normani.de/search?q=小旋风万能蜘蛛池【tg:seogoogle987】,48Y
- https://www.signingsavvy.com/sentence/小旋风万能蜘蛛池【tg:seogoogle987】,Lfs

谷歌CEO为反垄断案辩解:在许多市场是失败者
标签: 雅乐科技 Yalla 101OkeyYalla 中东社交游戏
纽约州率先立法禁用 AI 算法租金操控
标签: UU跑腿 代拜年 春节服务 年夜饭公益
未来一年商业智能的发展前景如何?
