zookeeper核心概念
可以借鉴:https://blog.csdn.net/junchenbb0430/article/details/77583955
zookeeper的组成部分:
1. Leader:起主导集群的作用,负责事物请求的调度和处理,保证集群中事物处理的顺序性;
2. Follower:处理客户端的非事物请求和转发客户端的事物请求,参与事物的投票过程(Proposal,必须有过半的Follower同意),参与Leader的选举的投票;
3. Observer:处理客户端的非事物请求,不参与事物请求的投票;
ZAB协议(ZooKeeper Atomic Broadcast:Zookeeper原子消息广播协议)
1. 消息广播
2. 奔溃恢复:Leader挂了或者超时,需要重新选举出新的Leader,且保证新Leader数据的一致性。
数据的一致性需要做到如下两点:
a、已经被Leader提交的proposal数据不丢失;
b、丢弃未被Leader提交的proposal数据;