En saga administrerer en forretningstransaksjon som strekker seg over flere tjenester som en sekvens av lokale transaksjoner. Hvis et trinn mislykkes, kjører saga-en kompenserende transaksjoner for å angre tidligere trinn — det finnes ingen distribuert rollback.
Hvorfor ikke en distribuert transaksjon?
To-fase commit over tjenester er langsom, låser ressurser og koblet tilgjengelighet. Sagaer gir eventuelle konsekvens uten distribuerte låser.
