Two-Phase Commit (2PC): consistenza forte e coordinamento
Il coordinatore esegue una fase PREPARE e, se tutti i partecipanti sono pronti, una fase COMMIT; altrimenti ordina il ROLLBACK.
Il problema
Una singola operazione deve aggiornare più risorse transazionali e si vuole mantenere atomicità globale.
Il pattern
Il coordinatore esegue una fase PREPARE e, se tutti i partecipanti sono pronti, una fase COMMIT; altrimenti ordina il ROLLBACK.
Come funziona
I partecipanti mantengono risorse in uno stato preparato fino alla decisione globale. La consistenza è forte, ma aumentano lock, latenza e dipendenza dal coordinamento distribuito.
Esempio sanitario
Benefici
- Atomicità globale
- Semantica transazionale familiare
Trade-off
- Lock distribuiti
- Coordinator e participant failure
- Scalabilità e latenza peggiori
Quando usarlo
Quando le risorse supportano davvero il protocollo e la consistenza forte è imprescindibile.
Quando evitarlo
Come default tra microservizi autonomi e servizi remoti eterogenei.
Pattern correlati
RIFERIMENTI
Fonti e riferimenti
Draft caricato nel progetto
Capsule Informatiche · Materiale progettuale
