码迷,mamicode.com
首页 > 编程语言 > 详细

Paxos算法介绍

时间:2015-02-28 01:37:41      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:paxos

Paxos算法是为了实现分布式环境中为保证数据的一致性而设计的,在一个分布式系统中,通过投票的方式来确定一个值(决议)。只不过这个步骤分为两步:

准备阶段(prepare)和批准阶段(accept)。

同时又分为若干角色,以下都可以兼任。

proposer 信使

acceptor 决策者

learner 学习者(学习最终决策)


准备阶段:

一个proposer向多个acceptor发出提案,每个提案有一个数字编号(递增的), 

如果多数acceptor接受了该提案,则进入批准阶段. 当然也可以拒绝。


批准阶段:

proposer得到了多数acceptor的接收反馈后,就向这些acceptors发起批准请求, 包括提案编号和value。

这些acceptor决定是否接受这个请求。


一旦批准,learner会通过某种方式获得最终决策的value.

两阶段的是可以被中断的,不会造成不一致。


如果要深究算法,请参考http://zh.wikipedia.org/zh-cn/Paxos%E7%AE%97%E6%B3%95






Paxos算法介绍

标签:paxos

原文地址:http://blog.csdn.net/csfreebird/article/details/43973993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!