1.什么是Zookeeper
2.Zookeeper核心概念
2.1文件系统数据结构
2.2监听通知机制
这里监听/test,变化的时候被监听了。但是这个监听是一次性的
2.3应用场景
- 分布式配置中心
- 分布式注册中心 3. 分布式锁
- 分布式队列
- 集群选举
- 分布式屏障 7. 发布/订阅
3.Zookeeper内存数据和持久化
内存中的数据:
事务日志:记录增删改节点、事务操作数据内容
数据快照
4.集群
Leader: 处理所有的事务请求(写请求),可以处理读请求,集群中只能有一个Leader
Follower:只能处理读请求,同时作为 Leader的候选节点
Observer:只能处理读请求。不能参与选举
5.常用应用
1.ZK非公平锁/公平锁/共享锁
加锁就是利用了节点不能重复,事件监听
非公平锁eg:A线程 create /lock, B线程create /lock,B失败了,B执行get -w /lock进行监听,A业务完成删除节点后B执行监听到变化,继续尝试获取锁若竞争大,会形成羊群效应
公平锁
共享锁
2.Leader选举在分布式场景中的应用
多个实例只需要一个实例去做,由leader去做
3.Spring Cloud Zookeeper注册中心实战
zk lead选举