Commit em duas fases
Protocolo para transações que abrangem vários bancos de dados — fase 1: todos "preparam"; fase 2: todos confirmam (commit) ou todos desfazem (rollback).
Solução clássica para transações distribuídas. O problema: se o coordenador morre no meio do processo, os nós ficam pendurados. No mundo moderno dos microsserviços, prefere-se o padrão saga ou a consistência eventual ao 2PC. Transações XA são a implementação corporativa.