Paxos - Basic Paxos
Basic Paxos 总的来说,Basic Paxos分成四个角色,俩个步骤,分别是 角色: 1.Client Client发送一个请求到分布式系统,比如请求一个文件 1.Proposer Proposer接收客户端的请求,并且让Acceptors接受这个请求。当发送冲突时,担任协调者。 2.Acceptors 一组Acceptors组成法定人数(一群Acceptors),任何发送给Acceptors的消息都必须发送给法定人数,从Acceptors收到的任何消息都应该忽略, 除非从法定人数内的每个Acceptors都收到一份同样的消息。 3.Learner Learner充当协议的复制者,一旦Client的请求被Acceptors通过,Learner就可以执行客户端的请求(执行请求,响应数据给Client),为了保证可用性,Learner可以动态添加。 上面三个角色,任何一个参与者都可以扮演任意角色,但是在一轮共识过程中,只能担任一个角色(在共识形成后Learner才有作用)。 4.Leader Paxos需要一个Proposer充当Leader来管理过程。但是可能有多个Proposer相信自己是Leader,协议保证只选择其中的一个,如果有多个Leader,就会出现冲突更新。 Quorums Quorums 表示法定人数,任何俩组法定人数