SagaMuster - AWS Präskriptive Leitlinien

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.

SagaMuster

Bei dem saga Muster handelt es sich um ein Fehlermanagementmuster, das dabei hilft, 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 das saga Muster ein Auftragsverarbeitungssystem implementiert, indem es verwendet 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.

SagaMuster

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 saga 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 Musters in einer Microservices-Architektur finden Sie AWS Step Functions auf der Prescriptive Guidance-Website unter Implementierung des serverlosen saga Patterns mithilfe des AWS Musters.