zookeeper的基本概念

集群角色

ZooKeeper中包含Leader、Follower和Observer三个角色

Leader:负责进行投票的发起和决议,更新系统状态
Follower:用于接受客户端请求并向客户端返回结果,在选主过程中参与投票
Observer:可以接受客户端请求,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。

会话

服务器与客户端之间的长连接,客户端通过心跳检测与服务器端保持会话,在生命周期之间能发起请求、接收响应、接收watch时间通知。可设置sessionTimeout,客户端意外断开连接后,若能在超时时间重连,则之前的会话有效。

数据节点

这里指zookeeper内部的数据结构Znode,而非集群中的哪一台zk服务器。

znode分为持久节点和临时节点
持久节点:创建后除了主动删除,否则一直存在zk中
临时节点:一旦客户端会话失效,客户端创建的临时节点被移除。

Watcher(事件监听器)

zk允许用户在指定节点上注册感兴趣的事件,事件触发时,会将事件通知发送给客户端。

ACL

zk采用ACL进行权限控制
CREATE:创建子节点的权限
DELETE:删除子节点权限
READ:获取节点数据和子节点列表权限
WRITE:更新节点数据权限
ADMIN:设置节点ACL的权限

参考:
《从PAXOS到ZOOKEEPER分布式一致性原理与实践》
https://blog.csdn.net/qq_24908345/article/details/52786087

    原文作者:不是明天
    原文地址: https://www.jianshu.com/p/e84c2d865d0e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞