zookeeper集群
leader follower(参与选举) observer
leader选举
1. 过半投票的机制
2 . master同步slave数据 ,保证数据一致性
3. 历史协议
4. 新leader开始工作
过半机制防止脑裂
应用
选主和故障检测(例如监控master节点健康状态)可以借助 watcher 机制实现。常见的实现方式是利用 临时节点和 watcher 机制 监控父节点的子节点数量变化,从而监控 master 的状态
发布订阅
使用了watcher机制:
客户端在zookeeper获取数据,并设置了回调机制; 服务端数据如有变化,会执行回调函数通知客户端
注册中心
/serviceName/inet
也用了watcher, 比如一个服务节点(ip,port)挂了, zookeeper执行回调通知消费者
分布式锁
原理: zookeeper高并发环境下保证节点创建的唯一性
获取读锁:
如果 节点是最小节点,或比自己小的节点都是读请求 ,则可以获取到读锁
获取写锁:
只有最小节点可以获取