Backend, Daten & Sicherheit Mehr Details C · Branchenübliche Konvention Plattform: Web

Saga Pattern

Saga-Muster

Eine Saga verknüpft mehrere gespeicherte Schritte zu einem Geschäftsvorgang. Wenn ein späterer Schritt fehlschlägt, wird er erneut versucht oder ein weiterer Schritt hinzugefügt, um vorher Geschehenes zu korrigieren.

Sieh, wie es funktioniert
Du könntest es nennen Saga Patternverteilte SagaSaga-ArbeitsablaufSaga-Transaktion

Sieh, wie es funktioniert

Original bearbeitetes BeispielSaga-Muster
Zustand & WiederherstellungSaga-Mustersaga ID + local transaction -> next step; failure -> retry | compensation -> terminal state
REISEBUCHUNGHotel fehlgeschlagen
  1. ✓Flug gehaltenflight_tx_7
  2. ✓Karte belastetpay_tx_8
  3. !Hotel nicht verfügbarhotel_tx_9
↶ Ausgleich abgeschlossensaga: cancelled
SICHER BEHALTENJeder Service committet einen lokalen Schritt und zeichnet auf, was passiert ist.WIEDERHERSTELLENWiederholen Sie die nachfolgende Arbeit oder führen Sie explizite kompensierende Aktionen aus.
saga ID + local transaction -> next step; failure -> retry | compensation -> terminal stateJOB
Saga-MusterBackend-Zuverlässigkeit

Ein weiteres Beispiel

Bestellung `984` reserviert Bestand, autorisiert NT$248 und fragt dann nach Versand. Der Versand lehnt die Adresse ab. Die Saga storniert die Autorisierung und gibt den Bestand mit derselben Saga-ID frei. Anschließend wird die Bestellung als ausgeglichen aufgezeichnet.

Hauptteile

  1. 01Saga-ID und Status
  2. 02Teilnehmende Dienste
  3. 03Lokale Transaktionen
  4. 04Ergebnisnachrichten
  5. 05Wiederholung oder Entschädigung
  6. 06Prüfung und manuelle Wiederherstellung

Verwenden Sie es, wenn

Verwenden Sie eine Saga, wenn ein Geschäftsauftrag sich über Dienste oder Datenspeicher erstreckt. Verwenden Sie sie nur, wenn ein einziges Alles-oder-Nichts-Datenbankfeld nicht den gesamten Auftrag abdecken kann. Definieren Sie jeden gespeicherten Schritt, die nächste Aktion, den Wiederholungsversuch, die Behebungsaktion und den Endzustand.

Nutze es nicht, wenn

Fügen Sie keine Saga hinzu, wenn ein Datenbankspeichern die ganze Arbeit erledigen kann. Eine Korrekturaktion ist neue Arbeit. Sie kann fehlschlagen oder ein anderes Ergebnis hinterlassen. Fragen Sie eine Person, wenn eine Aktion unsicher rückgängig zu machen ist.

In Code verwendeter Name

saga ID + local transaction -> next step; failure -> retry | compensation -> terminal state

Vor dem Ausliefern

Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.

Anfrage, die Sie kopieren können

Outcome: Complete the task with Saga-Muster (Saga Pattern). User context: Bestellung `984` reserviert Bestand, autorisiert NT$248 und fragt dann nach Versand. Der Versand lehnt die Adresse ab. Die Saga storniert die Autorisierung und gibt den Bestand mit derselben Saga-ID frei. Anschließend wird die Bestellung als ausgeglichen aufgezeichnet. Technical concept or control: Saga-Muster (Saga Pattern). Why it fits: Verwenden Sie eine Saga, wenn ein Geschäftsauftrag sich über Dienste oder Datenspeicher erstreckt. Verwenden Sie sie nur, wenn ein einziges Alles-oder-Nichts-Datenbankfeld nicht den gesamten Auftrag abdecken kann. Definieren Sie jeden gespeicherten Schritt, die nächste Aktion, den Wiederholungsversuch, die Behebungsaktion und den Endzustand. Do not use it when: Fügen Sie keine Saga hinzu, wenn ein Datenbankspeichern die ganze Arbeit erledigen kann. Eine Korrekturaktion ist neue Arbeit. Sie kann fehlschlagen oder ein anderes Ergebnis hinterlassen. Fragen Sie eine Person, wenn eine Aktion unsicher rückgängig zu machen ist. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Kein einziger offizieller Standard kontrolliert den gesamten Begriff. Seine Bedeutung kann sich zwischen Teams, Plattformen oder Frameworks ändern. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.

Diese Anfrage prüfen

Review how Saga-Muster (Saga Pattern) is used now. Definition: Eine Saga verknüpft mehrere gespeicherte Schritte zu einem Geschäftsvorgang. Wenn ein späterer Schritt fehlschlägt, wird er erneut versucht oder ein weiterer Schritt hinzugefügt, um vorher Geschehenes zu korrigieren. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.

C
Wie offiziell ist dieser Begriff?

Branchenübliche Konvention

Menschen verwenden diesen Begriff oft bei der Arbeit. Die aufgelisteten Quellen können Praxis oder Einschränkungen unterstützen. Sie definieren nicht jeden Teil des Begriffs.

Kein einziger offizieller Standard kontrolliert den gesamten Begriff. Seine Bedeutung kann sich zwischen Teams, Plattformen oder Frameworks ändern.

Umfang
Nur das, was die Quelle abdeckt:Kanonischer Name、Definition、Implementierung、Nutzungshinweise、Ratschläge zur Vermeidung
Dokumentenstatus
stabil
Geprüft am
2026-07-30

Beweisquellen & Umfang

Autoritätsquelle + Begriffsreferenz · Amazon Web Services · stabil Saga patterns Umfang: Kanonischer Name、Definition、Implementierung、Nutzungshinweise、Ratschläge zur Vermeidung Rolle hier: Direkte Begriffsreferenz Quelle umfasst: Kanonischer Name, Definition, Implementierung, Nutzungshinweise, Ratschläge zur Vermeidung Hintergrund-Quelle Azure Architecture Center — Compensating Transaction pattern Rolle hier: Hilfreicher Hintergrund, keine Definition

Selbst kopieren

Der Browser konnte dies nicht kopieren. Wählen Sie die Anfrage unten aus und kopieren Sie sie selbst.