- zk定义
- 开源的分布式协调服务:一般可以基于它实现发布/订阅,分布式锁,统一配置等;
- zookeeper=文件系统+监听通知机制,并提供了一些api接口。
- zk的分布式一致性
- 原子性;
- 可靠性;
- 实时性,最终一致性;
- 顺序一致性;
- 存储
- 树状的目录结构,每个节点存放数据最大为1m;
- 保证主从节点的状态同步--- 原子广播机制
- 实现机制的协议:zab协议
- 恢复模式:当服务启动或者leader奔溃以后,会进入恢复模式,重新选举,且大多数server完成了和leader的状态同步以后,恢复模式结束;
- 广播模式:然后开始广播状态。当一个server加入服务,会首先发现leader,然后在恢复模式下启动,发现leader,和leader进行状态同步。同步结束以后,也会参加消息广播。
- zk服务一直维持在广播状态,直到leader奔溃或者leader失去了大部分followers的支持。
- 实现机制的协议:zab协议
- zk 的监听机制-数据变更通知
- 一次性:一旦事件发生watcher触发。只会触发一次。之后就会从存储中删除。主要是缓解服务端的压力,防止节点频繁变化。
- 客户端串行回调:客户端回调watcher是一个串行同步的过程。
- 轻量:告知客户端发生了事件,而不会说明事件的具体内容,需要客户端根据业务需求回调或者直接处理业务逻辑;客户端只是在请求的时候用boolean属性标记一下需要注册watcher。
- acl权限控制机制
- ogo(user/group/others)
- acl访问控制列表:ip/userpass/world/superuser 权限permission:控制创建/删除/读/写/管理admin等权限
- zk是怎么保证事务的顺序一致性
2021-01-18
最新推荐文章于 2021-11-10 17:26:45 发布