b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

paxos协议_一步一步理解paxos算法_raft paxos(2)

电脑杂谈  发布时间:2017-02-01 03:00:24  来源:网络整理

在讲解Paxos协议之前,为了方便叙述与理解,首先介绍一些相关基本概念。

首先是并行进程(对应副本状态机上每台服务器的一致性模块)的角色(Role)概念,Paxos协议下不同并行进程可能承担的三种角色如下:

倡议者(Proposer):倡议者可以提出提议(数值或操作命令等)以供投票表决;

接受者(Acceptor):接受者可以对倡议者提出的提议进行投票表决,从众多提议中选出唯一确定的一个;

学习者(Learner):学习者无倡议投票权,但是可以从接受者那里获知是哪个提议最终被选中;

在一致性协议框架中,一个并行进程可以同时承担以上多种角色。

另外一个概念是异步通信环境下的非拜占庭模型(Non-Byzantine Model),其含义是:

1并发进程的行为可以以任意速度执行,允许运行失败,在失败后也许会重启并再次运行;

2.并发进程之间通过异步方式发送信息通信,通信时间可以任意长,信息可能会在传输过程中丢失,也允许重复发送相同的信息,多重信息的顺序可以任意。但是有一点:信息不允许被篡改(在真实分布计算环境下,这一条可以通过内容完整性检测很容易解决)。

Paxos协议以及很多一致性协议都是在非拜占庭模型下的,即在非拜占庭条件下,Paxos协议可以就不同提议达成一致,拜占庭模型下情况会更加复杂一些。

|2.4.4.3 Paxos一致性协议

Paxos的目的是在非拜占庭条件下,当多个并行进程提出不同的操作命令(下文统称为倡议)时,如何能够达成一致。如果归纳Paxos协议,可以将其描述为以下两阶段过程:

[阶段一]

1.1【倡议者视角】倡议者选择倡议编号n,然后向大多数(即超过半数以上)接受者发送Prepare请求,请求中附带倡议编号n。

1.2【接受者视角】对于某个接受者来说,如果接收到带有倡议编号n的Prepare请求,则做如下判断:若倡议编号n比此接受者之前响应过的任何其它Prepare请求附带的倡议编号都大,那么此接受者会给倡议者以响应,并承诺不会响应之后接收到的其它任何倡议编号小于n的请求,另外,如果接受者曾经响应过2.2阶段的Accept请求,则将所有响应的Accept请求中倡议编号最高的倡议内容发送给倡议者,倡议内容包括两项信息:Accept请求中的倡议编号以及其倡议值。若倡议编号n不比此接受者之前响应过的任何其它Prepare请求附带的倡议编号都大,那么此接受者不会给倡议者以响应。

[阶段二]

2.1【倡议者视角】如果倡议者接收到大多数接受者关于带有倡议编号n的Prepare请求的响应,那么倡议者向这些接受者发送Accept请求,Accept请求附带两个信息:倡议编号n以及倡议值v。倡议值v的选择方式如下:如果在1.2阶段接受者返回了自己曾经接受的具有最高倡议编号Accept请求倡议内容,则从这些倡议内容里面选择倡议编号最高的并将其倡议值作为倡议值v;如果1.2阶段没有收到任何接受者的Accept请求倡议内容,则可以任意赋值给倡议值v。

2.2【接受者视角】如果接受者接收到了任意倡议编号为n的Accept请求,则接受者接受此请求,除非在此期间接受者响应过具有比n更高编号的Prepare请求。通过以上两阶段过程即可选出唯一的倡议值,对于学习者来说,其需要从接受者那里获知到底是哪个倡议值被选出。一个直观的方法如下:每当接受者执行完2.2步骤,即接受某个Accept请求后,由其通知所有学习者其所接受的倡议,这样,学习者很快习得是哪个倡议被最终选出。但是这种方式会导致大量通信,因为任意一个接受者会通知任意一个学习者,如果有m个接受者,n个学习者,则需要m*n次通信。paxos协议一个替代策略是:从众多学习者中选择一个作为代表,由其从接受者那里获知最终被选出的倡议,然后再由其通知其它学习者,这样可以将通信量降为m+n。paxos协议但是这个方案中如果这个学习者代表发生故障,其它学习者无从知晓倡议值。考虑到健壮性和通信量两个因素,可以采取折中方法:选出若干学习者作为代表,由这些代表从接受者那里获知最终倡议值,然后通知其它学习者。

通过以上流程,如果有多个并发进程提出各自的倡议值,Paxos就可以保证从中选出且只选出一个唯一确定的倡议值,以此来达到副本状态机保持状态一致的目标。

上述内容是Paxos一致性协议的理论方案,正向上文所述,在实际实现时还需要考虑很多问题,比如如何保证不同进程所采纳的倡议编号全局唯一且递增增长、异常处理(比如倡议者或者接受者崩溃的处理策略)、状态持久化等等,这些在不同系统实现时都可能采取各异的策略。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29829-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...