ZooKeeper文件系统与监听通知机制

介绍

ZooKeeper是阿帕奇官网的一个分布式服务框架,用来解决分布式应用中经常出现的一些数据管理问题,比如统一命名服务状态同步服务集群管理分布式应用配置管理等。总的来说,ZK=文件系统 + 监听通知机制

1、文件系统

ZooKeeper底层是一套树形存储结构,类似于Unix文件系统路径,也是从根节点开始,这些节点都称之为znode,可以用来保存数据(默认存储大小为1MB)。 而这些znode节点也分为四种类型

节点类型 节点描述
PERSISTENT 持久化目录节点,当客户端与 zookeeper 断开连接后,该节点依旧存在
PERSISTENT_SEQUENTIAL 持久化顺序编号目录节点,当客户端与 zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行顺序编号
EPHEMERAL 临时目录节点,当客户端与 zookeeper 断开连接后,该节点被删除
EPHEMERAL_SEQUENTIAL 临时顺序编号目录节点,当客户端与 zookeeper 断开连接后,该节点被删除,只是 Zookeeper 给该节点名称进行顺 序编号

在这里插入图片描述

2、监听通知机制

ZooKeeper采用了观察者设计模式,客户端会向其关心的目录节点注册,一旦目录节点发生改变(比如数据的更新或删除、子目录节点的增加或删除),ZK服务就会通知客户端。
在这里插入图片描述