Паксос против двухфазной фиксации

Я пытаюсь понять разницу между paxos и двухступенчатой ​​фиксацией как средство достижения консенсуса между несколькими машинами. Двухфазное принятие и трехфазное принятие очень легко понять. Также кажется, что 3PC решает проблему сбоя, которая блокируется в 2PC. Поэтому я не совсем понимаю, что Паксос решает. Может ли кто-нибудь осветить меня о том, что проблема Paxos точно решает?

Ответы

Ответ 1

2PC блокируется, если диспетчер транзакций терпит неудачу, требуя, чтобы вмешательство человека было перезапущено. 3PC (есть несколько таких алгоритмов), попытайтесь исправить 2PC, выбрав новый диспетчер транзакций, когда исходный менеджер потерпит неудачу.

Paxos не блокируется, если большинство процессов (менеджеров) являются правильными. Paxos фактически решает более общую проблему консенсуса, следовательно, его можно использовать для реализации транзакционного фиксации. По сравнению с 2PC он требует больше сообщений, но он устойчив к сбоям менеджера. По сравнению с большинством алгоритмов 3PC, Paxos предоставляет более простой и эффективный алгоритм (минимальная задержка сообщения), и было доказано, что оно правильно.

Серый и Lamport сравнивают 2PC и Paxos в отличной бумаге под названием "Консенсус по транзакционной фиксации".

(В ответе peter, я думаю, он смешивает 2PC с 2PL (двухфазная блокировка).)