Zookeeper入门

ZooKeeper 是一个开源的分布式协调架,主要用来解决分布式集群中应用系统的一致性问题

本质

分布式的文件存储系统(Zookeeper=文件系统+监听机制),是一个基于观察者模式设计的分布式服务管理框架

zookeeper的数据结构

Zookeeper的层次模型称作Data Tree,Data Tree的每个节点叫作Znode。每个节点都可以保存数据,默认能够存储 1MB 的数据,每个 ZNode 都可以通过其路径唯一标识,每个节点都有一个版本(version从0开计数)。

1.文件系统的树形结构便于表达数据之间的层次关系

2.文件系统的树形结构便于为不同的应用分配独立的命名空间( namespace)

节点分类

类型 生命周期 创建示例
持久节点 创建该节点的客户端与服务端的会话关闭了,该节点依然不会被删除 create /locks
临时节点 当创建该临时节点的客户端因会话超时或发生异常而关闭时,该节点也相应在 ZooKeeper 服务器上被删除。 create -e /locks/lock
有序节点 在持久节点和临时节点特性的基础上,增加了一个节点有序的性质。在创建有序节点的时候会自动使用一个单调递增的数字作为后缀 create -e -s /locks/lock
容器节点 当一个容器节点的最后一个子节点被删除后,容器节点也会被删除 create -c /work
TTL节点 当一个TTL节点在TTL内没有被修改并且没有子节点,会被删除。(需要配置extendedTypesEnabled=true) ate -t 3000 /ttl_node
相关推荐
侠客行031711 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪11 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚13 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎13 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码13 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚13 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂13 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
fuquxiaoguang14 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐14 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
__WanG14 小时前
JavaTuples 库分析
java