【zookeeper】笔记

617 阅读1分钟

1. 集群角色

Leader、Follwer、Observer (包含了两种设计模式:Leader/Follwer设计模式、Observer观察者模式)

2. 会话

指客户端直接连接 Zookeeper 服务器,客户端靠与服务器建立一个 TCP 的长链接来维持一个 Session。

3. 数据节点

zk 中有两种节点:

  • 集群中的一台机器称为一个节点
  • 数据模型中的数据单元 Znode,分为持久节点、临时节点 zk的数据结构是一个树状结构,树的节点就是 Znode,Znode中可以保存信息。对 zk 的使用,基本都是和这些数据节点的交互

4. 版本

zk中的版本,指修改次数。

  • version:当前数据节点数据内容的版本号
  • cversion:当前数据节点子节点的版本号
  • aversion:当前数据节点ACL变更版本号

5. watcher

事件监听器,zk 允许用户在指定节点上注册一些watcher,当数据节点发生变化的时候,zk服务器会把这个变化的通知发送给感兴趣的客户端

6. ACL权限控制

Access Control Lists,zk次啊用ACL策略来进行权限控制,有以下权限:

  • CREATE:创建子节点的权限
  • READ:获取节点数据和子节点列表的权限
  • WRITE:更新节点数据的权限
  • DELETE:删除子节点的权限
  • ADMIN:设置节点ACL的权限

7. 日志及快照清理

zk主要存放了两类文件,一个是snapshot和log,前者是内存数据的快照,后者类似mysql的binlog,将所有与修改数据相关的操作记录在log中,连个类文件的目录可在配置文件中指定