Advertisement

阿里大神带你感受Java一致性算法的魅力!(Paxos,Zab,Raft,选举,NWR,Hash,Gossip)

阅读量:

一致性算法研究

Paxos共识算法解析

Paxos 算法所要解决的核心问题,是使一个分布式系统中的各个节点就某一项特定的值达成共识。在实际应用中,例如一个分布式数据库系统,当所有节点的初始状态保持一致,并且每个节点都按照相同的操作序列进行处理时,最终它们将能够达到一致的状态。为了确保所有节点执行完全相同的指令序列,必须在每条指令的执行过程中引入一种“一致性算法”,从而保障各个节点所接收到的指令具有一致性。Zookeeper 所采用的 ZAB 算法正是对这一类算法的具体实现。在 Paxos 算法的设计中,存在三种不同的角色:Proposer、Acceptor 以及 Learners
Paxos 三种角色:Proposer,Acceptor,Learners

Proposer:

当 Proposer 提出的提案获得超过半数 Acceptor 的认可时,Proposer 即可确认该提案中所包含的 value 已被确定。

Acceptor:

一旦 Acceptor 对某一提案表示认可,即意味着该提案所包含的 value 已被正式确定。

Learner:

Learner 在接收到 Acceptor 的通知后,将确认相应的 value 已经被选定。

Paxos 算法的运行过程可以划分为两个主要阶段,具体操作如下:

全部评论 (0)

还没有任何评论哟~