2014-12-04 69 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