Zookeeper入门开始(一)
1.什么是zookeeper
简介: zookeeper是一种用于分布式应用程序的高性能的协调服务。
特点:数据存在内存中,类似文件系统中的树形结构,高吞吐量和低延迟,集群高可靠。
结构示例:
作用:zookeeper可用来实现分布式锁,服务中心等功能。
2.zookeeper的特点---简单
2.1数据结构简单
类似于文件系统树形结构,每一个目录节点被称作Znode节点,但是又不同于文件系统,既可以做文件目录节点,又可以文件存放数据。
2.2数据模型
层次结构:
1.类似于linux系统,根目录是以/为根目录
2.节点可是只是文件,也可以是文件存放数据(既是文件也是文件夹)
3.节点的访问是使用绝对路径的
Znode:
1.名称唯一,命名规范
2.节点类型有:临时 持久 顺序 临时顺序
2.3 节点操作
示例:
输入help,查看zookeeper能使用操作的指令
ls指令: ls / 查看根目录下面的所有目录
3.zookeeper有序
Zxid:zookeeper中每一次操作都会对应一个唯一的事务id,称之为zxid。
Version numbers:版本号,对应节点每次更改版本号每次都会加一。
4.Watch监听机制
可以在Znode上面设置watch用来监听节点的变化。
两类watch:
数据进行变更 (比如节点修改 添加 都会触发)
子节点发生变化 (例如监听节点下的子节点删除掉)
特性:
一次性:watch触发后会被立即删除。后续想要进行再次监听,需要进行再次设置watch。
有序性:先得到watch通知后,才能看见变化结果。
5.zookeeper特性
1.顺序一致性,保证客户端操作是按照顺序生效的。
2.原子性,只有更新成功和失败。没有部分结果。
3.单个系统映像,无论连接到哪个服务器,都将看到相同的内容。
4.可靠性,数据不会进行丢失。
5.及时性,保证客户端读取到的数据都是最新的。