集群模式
恢复模式
集群进入该模式时会暂停所有客户对zk server的读写服务
- 集群启动:leader选举 + 数据同步
- Leader宕机恢复:只要过半机器存活就可以 选出新的leader 提供服务
广播模式
集群进入该模式客户端可以进行数据读写操作
- leader采用2PC过半写机制,给follower同步数据
前置说明
- myid:zk集群用于标识节点的唯一值
- zxid:zk集群写操作事务Id,具有循序性,只有前面的事务被zk集群处理完成,才会处理后面的事务
leader选举步骤
- 各个节点进入恢复模式之后,由于投票箱中没有其他节点投票信息,所以在第1轮投票时会投票给自己
- 各个节点收到其他节点的投票信息之后,选择zkid最大到节点作为leader,如果所有的选票zxid一样大,那么选择myid最大的节点作为leader,如果无法选出leader,继续投票,以此类推最终选出投票过半的节点作为leader