Glossar · Engineering

Saga Pattern (verteilte Transaktion)

Ein Muster, das eine lange Geschäftstransaktion über mehrere Systeme in einzelne lokale Schritte mit jeweils passender Kompensationsaktion zerlegt.

Definition

Statt einer klassischen Transaktion über mehrere Dienste (die es zwischen fremden APIs gar nicht gibt) zerlegst du den Ablauf in eine Folge lokaler Transaktionen. Jeder Schritt hat eine Kompensation, die ihn rückgängig macht, falls ein späterer Schritt scheitert. Eine Saga läuft entweder orchestriert (ein zentraler Koordinator ruft die Schritte der Reihe nach auf) oder choreografiert (jeder Schritt löst per Event den nächsten aus).

In Integrationen brauchst du das, sobald ein Vorgang mehrere Systeme berührt, etwa Lead anlegen in CRM, Rechnung im Billing, Willkommensmail im Mailtool. Wirft einer der Schritte einen Fehler, kannst du kein Rollback über alle APIs fahren, weil sie keine gemeinsame Transaktion teilen. Die Saga führt dann die Kompensationen der bereits erledigten Schritte aus (z.B. den angelegten CRM-Kontakt wieder löschen oder als storniert markieren), sodass keine halb fertigen Zustände zurückbleiben.

So nutzen wir das bei adsbird

In der adsbird-Lead-Fabrik läuft die Kette Supabase-Insert, Close-Kontakt, Discord-Notify als Saga: schlägt der Close-Schritt fehl, wird der Supabase-Datensatz als storniert markiert statt eine halbe Anlage zu hinterlassen.

Saga Pattern (verteilte Transaktion) in deinem Projekt?

Wir bauen damit,
jeden Tag.

Wenn du Saga Pattern in einem konkreten Workflow brauchst, wir haben das wahrscheinlich schon gebaut.

Erstgespräch Alle Begriffe