引言
分布式系统中,集群副本 是比较重要的存在形式。对于其协议 ,一般常见分为两种,中心化副本控制协议(类似主从),另一种 去中心化副本协议 ( 无绝对中心概念,一般选举产生 )。本文Paxos 算法 ,其实是 一种比较经典的 去中心化 副本协议,而 Zookeeper 集群选举流程 其实是一种 简化版 Paxos。
Paxos 算法
1.Paxos 基本角色
Paxos 算法中 ,分三种角色(节点):提议者(Proposer),接收者(Acceptor),学习者(Learner)。
提议者(Proposer):发起提议
接收者(Acceptor):对提议进行投票,决定是否接受提议
学习者(Learner):不参与投票,负责传达最终值
其实 ,Paxos的概念,类似 我们生活的民主投票。
2.Paxos 选举流程
&