共识算法(consensus A7M),即达成共识的过程,而非一致性算法。一致性(consistency)是终态,共识算法是达成一致性的一种实现手段和过程。

常见的共识算法有raft(reliable,replicated,redundant,And fault-tolerated)和Poxos算法,raft算法相对更清晰好理解,是poxos的替代,如etcd。poxos比较复杂难懂,用于zookeeper。

典型的分布式三节点场景N1,N2,N3,刚启动触发 leader election,节点状态分leader,candidater,follower,选主采用抢注机制,完成选主后为了保证leader是靠谱的,需要有keepalive机制,若leader保活超时会触发新一轮选举。

leader节点会负责资源分配,负载均衡(LB),同时会负责log同步,状态机对齐等共识决策,以此来达成数据一致性。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐