一、Master选举
1、ping其他所有节点,收到回复的放到一个集合中(包括自己)
2、从集合中选所有具有候选角色的节点
3、从候选列表中选出master,按照版本号选举,版本号越大越优先
4、第3步当集群中有主节点时,已存在的主节点与新选出的主节点比较id,id最小的为主节点
二、脑裂
1、假设一个集群中有一主一从,突然主从节点的连接断了,slave会将自己选举为主节点。这时就出现了后面两主的情况
2、解决办法:minimum_master_nodes=N/2+1向下取整。一般设置奇数个节点进行选举
以上那个例子中至少有2票才会选举出主节点