web-dev-qa-db-fra.com

Paxos vs deux phases commit

J'essaie de comprendre la différence entre le paxos et l'engagement en deux phases comme moyen de parvenir à un consensus entre plusieurs machines. La validation en deux phases et la validation en trois phases sont très faciles à comprendre. Il semble également que 3PC résout le problème de défaillance bloquant dans 2PC. Donc, je ne comprends pas vraiment ce que Paxos est en train de résoudre. Quelqu'un peut-il m'expliquer quel problème Paxos résout-il exactement?

22
Keeto

2PC se bloque si le gestionnaire de transactions échoue, nécessitant une intervention humaine pour redémarrer. Les algorithmes 3PC (il en existe plusieurs) tentent de corriger 2PC en choisissant un nouveau gestionnaire de transactions lorsque le gestionnaire d'origine échoue.

Paxos ne bloque pas tant que la majorité des processus (gestionnaires) sont corrects. Paxos résout en réalité le problème plus général du consensus et peut donc également être utilisé pour implémenter la validation de transaction. Comparé à 2PC, il nécessite plus de messages, mais il résiste aux échecs du gestionnaire. En comparaison avec la plupart des algorithmes 3PC, Paxos rend un algorithme plus simple et plus efficace (délai de message minimal) et s’est révélé être correct.

Gray et Lamport comparent 2PC et Paxos dans un excellent paper intitulé "Consensus on Transaction Commit".

(Dans la réponse de Peter, je pense qu'il mélange 2PC avec 2PL (verrouillage en deux phases).)

29
danyhow

2-PC est le protocole de validation de transaction le plus traditionnel et alimente le cœur de l'atomicité des transactions. Mais il est de nature bloquante, c’est-à-dire que si le gestionnaire/coordinateur de transaction échoue entre les deux, le protocole sera bloqué et aucun processus ne le saura. Une intervention manuelle est nécessaire pour réparer le coordinateur.

Tandis que Paxos est un protocole de consensus distribué ayant plusieurs coordinateurs de ce type et si une majorité des coordinateurs acceptent la transaction, celle-ci devient une transaction atomique réussie.

Vous devriez lire https://www.Microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2003-96.pdf pour comprendre comment ces deux protocoles se différencient dans une manière plus granulaire. Dans le même article, Lesley et Lamport introduisent également un protocole, c’est-à-dire une combinaison de Paxos et de 2 PC, pour des performances plus rapides.

0
Kamal Chaturvedi