Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Two-Phase Commit (2PC): consistenza forte e coordinamento

DecomposizionePattern classico

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

Microservices Design Patterns - Draft

Draft caricato nel progetto

ADT - Architettura tecnica e pattern distribuiti

Capsule Informatiche · Materiale progettuale