database distributed-computing paxos

database - Paxos vs cometer dos fases



distributed-computing (2)

Estoy tratando de entender la diferencia entre paxos y comillas de dos fases como medios para alcanzar el consenso entre varias máquinas. El compromiso en dos fases y el compromiso en tres fases es muy fácil de entender. También parece que 3PC resuelve el problema de falla que bloquearía en 2PC. Así que realmente no entiendo lo que está resolviendo Paxos. ¿Alguien puede iluminarme sobre qué problema resuelve exactamente Paxos?


2PC se bloquea si el administrador de transacciones falla, lo que requiere la intervención humana para reiniciar. Los algoritmos de 3PC (hay varios algoritmos de este tipo) intentan corregir 2 PC al elegir un nuevo administrador de transacciones cuando falla el administrador original.

Paxos no bloquea mientras la mayoría de los procesos (administradores) sean correctos. En realidad, Paxos resuelve el problema más general del consenso, por lo tanto, también se puede utilizar para implementar el compromiso de transacción. En comparación con 2PC, requiere más mensajes, pero es resistente a las fallas del administrador. En comparación con la mayoría de los algoritmos 3PC, Paxos presenta un algoritmo más simple y eficiente (retraso de mensaje mínimo), y se ha demostrado que es correcto.

Gray y Lamport comparan 2PC y Paxos en un excelente paper titulado "Consensus on Transaction Commit".

(En la respuesta de Peter, creo que está mezclando 2PC con 2PL (bloqueo de dos fases).)


2-PC es el protocolo de confirmación de transacciones más tradicional y potencia el núcleo de la atomicidad de las transacciones. Pero está bloqueando en la naturaleza, es decir, si el administrador / coordinador de transacciones falla entre ellos, causará que el protocolo se bloquee y ningún proceso lo sabrá. Requiere intervención manual para reparar el coordinador.

Si bien Paxos es un protocolo de consenso distribuido tiene varios coordinadores de este tipo y si la mayoría de los coordinadores acepta la finalización de la transacción, se convierte en una transacción atómica exitosa.

Debe leer https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2003-96.pdf para comprender cómo estos dos protocolos se diferencian de una manera más detallada. En el mismo artículo, Lesley y Lamport también introducen un protocolo, es decir, una combinación de Paxos y 2-PC para un rendimiento más rápido.