複数のマシン間で合意に達する手段として、paxos と 2 フェーズ コミットの違いを理解しようとしています。2 フェーズ コミットと 3 フェーズ コミットは非常に理解しやすいものです。また、3PC は 2PC でブロックしてしまう障害の問題も解決しているようです。そのため、Paxos が何を解決しているのかよくわかりません。Paxos が正確に解決する問題について誰か教えてくれませんか?
質問する
13520 次
2 に答える
42
トランザクション マネージャーが失敗した場合、2PC はブロックされ、再起動するために人間の介入が必要になります。3PC アルゴリズム (そのようなアルゴリズムはいくつかあります) は、元のマネージャーが失敗したときに新しいトランザクション マネージャーを選択することで 2PC を修正しようとします。
大部分のプロセス (マネージャー) が正しい限り、Paxos はブロックしません。Paxos は実際にはコンセンサスのより一般的な問題を解決するため、トランザクション コミットの実装にも使用できます。2PC と比較すると、より多くのメッセージが必要ですが、マネージャーの障害に対して回復力があります。ほとんどの 3PC アルゴリズムと比較して、Paxos はより単純で効率的なアルゴリズム (最小のメッセージ遅延) をレンダリングし、正しいことが証明されています。
Gray と Lamport は、 「Consensus on Transaction Commit」というタイトルの優れた論文で 2PC と Paxos を比較しています。
(ピーターの答えでは、彼は2PCと2PL(2フェーズロック)を混ぜていると思います。)
于 2014-12-05T09:27:34.097 に答える