Una saga gestisce una transazione di business che si estende su più servizi come una sequenza di transazioni locali. Se un passo fallisce, la saga esegue transazioni compensative per annullare i passi precedenti — non c'è rollback distribuito.
Perché non una transazione distribuita?
Il two-phase commit tra servizi è lento, blocca risorse e accoppia la disponibilità. Le saga garantiscono coerenza eventuale senza lock distribuiti.
