Zookeeper中的节点类型和实现持久化的两种方式

进入zookeeper的bin目录,执行./zkServer.sh start ../conf/zoo.cfg启动!

Zookeeper内部的数据模型

类似于数据结构中的树,同时也很像文件系统的目录,

节点的类型

  • 持久节点:create /znode
    创建出的节点,在会话结束后依然存在
  • 持久顺序节点:create -s /znode
    创建出的节点,根据先后顺序(顺序性),会在节点之后带上一个数值,越后执行数值越大,适用于分布式锁的应用场景(单调递增)
  • 临时节点:create -e /znode
    临时节点是在会话结束后,自动被删除,通过这个特性,zk可以实现服务注册与发现
  • 临时顺序节点:create -s -e /znode
    适用于临时的分布式锁

实现持久化的两种方式

zk的数据是运行在内存中,zk提供了两种方式的持久化方案。

  • 日志:log.x
    zk把执行的命令以日志形式保存在dataLogDir指定的路径中的文件中(如果没有指定dataLogDir,则按照 dataDir指定的路径)。 类似于 Redis 中的AOF持久化方案,文件的体积大,但文件数据保存相对完整,
  • 快照:snapshot.x
    zk会在一定的时间间隔内做一次内存数据快照,把时刻的内存数据保存在快照文件中。 类似于Redis中的RDB持久化方案,文件体积小,宕机恢复速度快,但数据不完整。

zk通过两种形式的持久化,在恢复时先恢复快照文件中的数据到内存中,再用日志文件中的数据做增量恢复。

相关推荐
Thomas214341 分钟前
kafka 存储flink changelog两种方式和形态
分布式·flink·kafka
GIR12343 分钟前
首发:2026年分布式储能系统市场分析报告——覆盖发展前景、占有率与十五五规划
分布式
玉&心1 小时前
安装Service Mesh(Istio)在dockers desktop的问题
云原生·istio·service_mesh
leo_messi941 小时前
面试知识点梳理及相关面试题(十六)-- 分布式设计
分布式·面试·职场和发展
AgentMaster2 小时前
数据治理方案对比:开源自建 vs 商业平台 vs 云原生,三条技术路线的取舍与实践
云原生
阿里云云原生2 小时前
云原生可观测性落地:乐檬通过自然语言观测与自动巡检提升运维效能的最佳实践
运维·云原生·starops·云监控2.0
2601_962299242 小时前
云原生时代的技术进阶:从零到精通掌握Kubernetes实战
云原生·kubernetes·学习路径·技术进阶·实战指南
IT大白鼠12 小时前
MySQL 分布式集群系列 · 第四篇——实操部署指南:从零搭建生产级 MySQL NDB 集群
数据库·分布式·mysql
IT大白鼠12 小时前
MySQL 分布式集群系列 · 第三篇——核心原理精讲:NDB 自动分片、多主写入与数据同步
数据库·分布式·mysql
小陈不好吃13 小时前
从单体到微服务:Spring Cloud Gateway 动态路由实战与踩坑记录
微服务·云原生·架构