集群投票选举leader原理:
概念:
SID:服务器ID (myid=1 myid=2.....)
Vote:投票(核心原则,zxid一样时投票给sid大的服务器)
Quorum: 过半机器数(过半原则,防脑裂)
公式为quorum=(n/2+1)。例如:如果集群机器总数为3,那么quorum就是2
Zookeeper节点状态:
LOOKING:寻找Leader状态,处于该状态需要进入选举流程
LEADING:领导者状态,处于该状态的节点说明是⻆色已经是Leader
FOLLOWING:跟随者状态,表示Leader已经选举出来,当前节点⻆色是follower
OBSERVER:观察者状态,表明当前节点⻆色是observer,不参与选举
CAP原则:
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
一致性(Consistency): 时时刻刻保证集群中的所有节点的数据是一致的
可用性(Availability):时时刻刻集群都是可用的
分区容错性(Partition tolerance): 只要是分布式的真正集群,都会满足分区容错性。