Aller au contenu
uencoder

Two-Phase Commit

Le commit en deux phases (2PC) est le protocole de validation atomique des transactions entre nœuds : le coordinateur demande d'abord à tous les participants s'il faut valider, puis décide commit ou abort.

Objectif

Réaliser l'atomicité des transactions distribuées et comprendre ses problèmes de blocage et de point unique du coordinateur.

Mécanisme

Phase un (prepare) : le coordinateur envoie prepare ; les participants écrivent le WAL et répondent yes/no. Phase deux (commit/abort) : commit si tous disent yes, sinon abort. Si le coordinateur plante, les participants bloquent (incertain).

Cas d’usage

  • Conception de transactions distribuées
  • Validation atomique entre nœuds
  • Protocole XA

Outils associés

References