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
相关推荐
永远都不秃头的程序员(互关)2 分钟前
Java核心技术精要:高效实践指南
java·开发语言·性能优化
CoderYanger42 分钟前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
代码栈上的思考44 分钟前
深入解析Spring IoC核心与关键注解
java·后端·spring
Mai Dang1 小时前
SpringBoot4用Swagger
java
geekmice2 小时前
实现一个功能:springboot项目启动将controller地址拼接打印到txt文件
java·spring boot·后端
老华带你飞2 小时前
旅游|基于Java旅游信息系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·旅游
小石头 100862 小时前
【JavaEE】进程和线程的区别
java·java-ee
oioihoii3 小时前
C++对象生命周期与析构顺序深度解析
java·开发语言·c++
BBB努力学习程序设计3 小时前
Java枚举(Enum):定义固定值的"类型安全"利器
java