Paxos 个人理解

Paxos算法中主要的角色有:
  • Client:发起请求的人
  • Acceptor (Voters):负责选举头头片
  • Proposer:负责向Acceptor发起Clinet的提议
  • Learner:当提议决定的以后,需要有所行动的人
  • Leader:选举出来的做决策的Leader

basic Paxos

站在Proposer的角度
  1. Prepare阶段:
    1) 向Acceptors发送 【prepare请求 】提案号N,然后等待Acceptors的回复
    2) 当收到一定数量的Acceptors的【承诺】后,这个时候就需要设置提案。
    A.如果任何Acceptor已经是Accepted状态,那么就设置为其中提议号的内容。
    B.否则,Proposer选择任意想设置的内容
  2. Accept阶段
    1) 查看所有回复的中,选择最大提案号N_m向Acceptors发起【Accept请求】。等待Acceptors的回复
    2) 如果收到大多数的Acceptors发回的【Accepted请求】,则认为提案N_m最终提案,否则
站在Acceptor的角度
  1. Promise阶段:
    1) 收到Proposer【prepare请求 】提案号为N,这个时候分两种情况:
    A. 如果N比之前的【prepare请求 】的大,则Acceptor【承诺】会忽略掉所有比N小的【prepare请求
    B. 如果Acceptor已经向某个Proposer发送过【Accepted消息*】后,则会发送已经Accepted的提案号和提案内容回去。
  2. Accept阶段
    如果收到一个【Accept请求】提案号N_n比满足之前Promise的【承诺】,则发送【Accepted消息】,之后就不再接受任何【Accept请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值