Eine Saga verwaltet eine Geschäftstransaktion, die sich über mehrere Services als eine Sequenz von lokalen Transaktionen erstreckt. Wenn ein Schritt fehlschlägt, führt die Saga kompensierende Transaktionen aus, um frühere Schritte rückgängig zu machen — es gibt kein verteiltes Rollback.
Warum nicht eine verteilte Transaktion?
Two-Phase Commit über Services ist langsam, sperrt Ressourcen und koppelt die Verfügbarkeit. Sagas bieten eventuelle Konsistenz ohne verteilte Sperren.
