Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Saga pattern
Das Tool saga Pattern ist ein Fehlermanagementmuster, das dazu beiträgt, Konsistenz in verteilten Anwendungen herzustellen und Transaktionen zwischen mehreren Microservices zu koordinieren, um die Datenkonsistenz aufrechtzuerhalten. Ein Microservice veröffentlicht für jede Transaktion ein Ereignis, und die nächste Transaktion wird auf der Grundlage des Ergebnisses des Ereignisses initiiert. Je nach Erfolg oder Misserfolg der Transaktionen kann er zwei verschiedene Wege einschlagen.
Die folgende Abbildung zeigt, wie saga Pattern implementiert ein Auftragsabwicklungssystem mithilfe von AWS Step Functions. Jeder Schritt (z. B. „ProcessPayment“) umfasst außerdem separate Schritte, um den Erfolg (z. B. "UpdateCustomerAccount„) oder Misserfolg (z. B." SetOrderFailure „) des Prozesses zu behandeln.

Sie sollten in Betracht ziehen, dieses Muster zu verwenden, wenn:
-
Die Anwendung muss die Datenkonsistenz über mehrere Microservices hinweg ohne enge Kopplung aufrechterhalten.
-
Es gibt langlebige Transaktionen und Sie möchten nicht, dass andere Microservices blockiert werden, wenn ein Microservice über einen längeren Zeitraum läuft.
-
Sie müssen in der Lage sein, ein Rollback durchzuführen, falls ein Vorgang in der Reihenfolge fehlschlägt.
Wichtig
Das Tool saga Ein Muster ist schwer zu debuggen und seine Komplexität nimmt mit der Anzahl der Microservices zu. Das Muster erfordert ein komplexes Programmiermodell, das Ausgleichstransaktionen für das Zurücksetzen und Rückgängigmachen von Änderungen entwickelt und gestaltet.
Weitere Informationen zur Implementierung des saga Muster in einer Microservices-Architektur finden Sie im Muster Implementieren Sie das Serverlose saga Muster, das AWS Step Functions auf der AWS Prescriptive Guidance-Website verwendet wird.