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
相关推荐
刘一说4 分钟前
JDK、Maven、Spring Boot 各版本兼容性问题
java·spring boot·maven
夏幻灵31 分钟前
JAVA基础-就近原则和this关键字
java·开发语言
蜀中孤鹰32 分钟前
使用gson定制化序列化/反序列化
java·json
zhaokuner36 分钟前
08-仓储与映射-DDD领域驱动设计
java·开发语言·设计模式·架构
微露清风40 分钟前
系统性学习C++进阶-第十五讲-map和set的使用
java·c++·学习
一起养小猫1 小时前
LeetCode100天Day9-无重复字符的最长子串与赎金信
java·开发语言·数据结构·leetcode
菩提祖师_1 小时前
基于Java的物联网智能交通灯控制系统
java·开发语言·物联网
公众号:ITIL之家1 小时前
服务价值体系重构:在变化中寻找不变的运维本质
java·运维·开发语言·数据库·重构
自在极意功。1 小时前
Spring 中 Bean 的生命周期
java·spring·bean生命周期
zhaokuner1 小时前
01-领域与问题空间-DDD领域驱动设计
java·开发语言·设计模式·架构