用处
目的
主要用于搭配kafka进行学习。因为kafka就是使用zookeeper作为协调服务用的。
zookeeper存储模型
Zookeeper的存储结构采用的是层次化的文件结构模型,很像数据结构当中的树,也很像文件系统的目录。树是由节点所组成,Zookeeper的数据存储也同样是基于节点,这里称之为znode。
Znode包含4个信息。
data:Znode存储的数据信息。
ACL:记录Znode的访问权限,哪些ip那些人可以访问本节点。
stat:包含Znode的各种元数据,比如事务id,大小,时间戳等。
Znode特点
- Znode的引用方式是路径引用,类似于文件路径:/a/b。
- znode数据只支持全量读取和写入。
- Znode的API都是互不影响的。
ZNode分类
- 持久。zookeeper集群,client宕机后,重启依旧还在。
- 临时。client宕机,或者一定时间没有发消息,那就消失。
zk session
zk session是zk客户端和zk集群中某一个节点建立的,客户端可以主动关闭session,zk节点如果在这个session所关联的timeout时间内收到客户端消息,zk客户端也会关闭节点,如果zk客户端发现所连接的zk节点出错,会自动和其他zk节点建立连接。
zk Quorun模式
这个模式就是集群模式,包含多个zookeeper节点,其中一个是lead节点,其余的是follower节点。lead节点可以处理读写请求,follower节点只能处理读请求,若是follower节点收到写请求,会将其转发给lead处理。