2014-12-04 71 views
15

我想了解paxos和两阶段提交之间的区别,作为在多个机器间达成一致的方法。两阶段提交和三阶段提交非常容易理解。它似乎也是3PC解决了将在2PC中阻塞的故障问题。所以我不太了解Paxos正在解决的问题。任何人都可以告诉我Paxos究竟解决了什么问题吗?Paxos vs两阶段提交

回答

23

2PC块如果事务管理器失败,需要人工干预才能重新启动。 3PC算法(有几种这样的算法)试图在原始管理器失败时通过选择新的事务管理器来修复2PC。

只要大多数进程(管理器)正确,Paxos就不会阻塞。 Paxos实际上解决了更一般的共识问题,因此它也可以用来实现事务提交。与2PC相比,它需要更多的消息,但它对管理器故障具有适应性。与大多数3PC算法相比,Paxos提供了一个更简单,更高效的算法(最小消息延迟),并且已被证明是正确的。

格雷和兰波特比较2PC和Paxos在一个很好的paper标题为“交易承诺一致性”。

(彼得的答案,我想他是混合2PL(两阶段锁定)2PC)

+0

然后三是筏这是一种更轻质版本的Paxos的。现在有很多使用木筏的开源系统。如Etcd,Consul,Cockroachdb等。 – Artem 2016-07-21 23:51:10