Zookeeper基本概念


集群角色:

leader:负责事务读写操作,

follower:读操作,把写操作交给leader,投票

observer:除了不投票几乎和follower一致

ZXID:

分布式事务id,全局唯一,一般作为事务id使用

会话:

每次服务端连接建立,存在一个会话,和服务端的通讯。一般会创建一个零时节点。

数据节点:

持久节点:是Zookeeper中最常?的?种节点类型,所谓持久节点,就是指节点被创建后会?直存在服 务器,直到删除操作主动清除 持久顺序节点:就是有顺序的持久节点,节点特性和持久节点是?样的,只是额外特性表现在顺序上。 顺序特性实质是在创建节点的时候,会在节点名后?加上?个数字后缀,来表示其顺序。 临时节点:就是会被?动清理掉的节点,它的?命周期和客户端会话绑在?起,客户端会话结束,节点 会被删除掉。与持久性节点不同的是,临时节点不能创建?节点。 临时顺序节点:就是有顺序的临时节点,和持久顺序节点相同,在其创建的时候会在名字后?加上数字 后缀。 查看数据节点状态: cZxid 就是 Create ZXID,表示节点被创建时的事务ID。 ctime 就是 Create Time,表示节点创建时间。 mZxid 就是 Modified ZXID,表示节点最后?次被修改时的事务ID。 mtime 就是 Modified Time,表示节点最后?次被修改的时间。 pZxid 表示该节点的?节点列表最后?次被修改时的事务 ID。只有?节点列表变更才会更新 pZxid, ?节点内容变更不会更新。 cversion 表示?节点的版本号。 dataVersion 表示内容版本号。 aclVersion 标识acl版本 ephemeralOwner 表示创建该临时节点时的会话 sessionID,如果是持久性节点那么值为 0 dataLength 表示数据?度。 numChildren 表示直系?节点数。

wacher监听:

Zookeeper使?Watcher机制实现分布式数据的发布/订阅功能 在 ZooKeeper 中,引?了 Watcher 机制来实现这种分布式的通知功能。ZooKeeper 允许客户端向服务 端注册?个 Watcher 监听,当服务端的?些指定事件触发了这个 Watcher,那么就会向指定客户端发 送?个事件通知来实现分布式的通知功能。

ACL

三个??来理解ACL机制:权限模式(Scheme)、授权对象(ID)、权限 (Permission),通常使?"scheme: id : permission"来标识?个有效的ACL信息。 1. IP IP模式就是通过IP地址粒度来进?权限控制,如"ip:192.168.0.110"表示权限控制针对该IP地址, 同时IP模式可以?持按照?段?式进?配置,如"ip:192.168.0.1/24"表示针对192.168.0.*这个?段 进?权限控制。 2. Digest Digest是最常?的权限控制模式,要更符合我们对权限控制的认识,其使 ?"username:password"形式的权限标识来进?权限配置,便于区分不同应?来进?权限控制。 当我们通过“username:password”形式配置了权限标识后,Zookeeper会先后对其进?SHA-1加密 和BASE64编码。 3. World权限模 式 授权对象 IP 通常是?个IP地址或IP段:例如:192.168.10.110 或192.168.10.1/24 Digest ?定义,通常是username:BASE64(SHA-1(username:password))例如: zm:sdfndsllndlksfn7c= Digest 只有?个ID :anyone Super 超级?户 World是?种最开放的权限控制模式,这种权限控制?式?乎没有任何作?,数据节点的访问权限 对所有?户开放,即所有?户都可以在不进?任何权限校验的情况下操作ZooKeeper上的数据。 另外,World模式也可以看作是?种特殊的Digest模式,它只有?个权限标识,即“world: anyone”。 4. Super Super模式,顾名思义就是超级?户的意思,也是?种特殊的Digest模式。在Super模式下,超级 ?户可以对任意ZooKeeper上的数据节点进?任何操作。

相关