RSS DEV-Gemeinschaft
Folgen
Simply Order (Teil 2) – Design und Implementierung des Saga-Workflows mit Temporal
Diese Lektion konzentriert sich auf die Implementierung eines Saga-Workflows mit Temporal für die Auftragsabwicklung in Simply Order. Der Bestellprozess umfasst Schritte wie Erstellung, Reservierung von Beständen, Autorisierung der Zahlung und Abschluss der Bestellung, die alle über einen Zustandsautomaten verfolgt werden. Es wird das Orchestration-Saga-Muster gewählt, wobei Temporal wegen seiner Fähigkeit zur Verwaltung des Workflow-Zustands, zur Handhabung der Kommunikation und zur Gewährleistung von Zuverlässigkeit eingesetzt wird. Die Kernkomponenten von Temporal umfassen Workflow- und Aktivitäts-Code, Worker, einen Server, Task-Queues und einen Client. Der bereitgestellte Code definiert den Workflow und integriert Kompensationslogik zur Fehlerbehandlung. Die Aktivitäten, wie die Bestandsreservierung, interagieren mit externen Diensten und werden von Temporal-Workern ausgeführt. Das Beispiel legt Timeouts und Wiederholungsrichtlinien für Aktivitäten fest. Das Projekt nutzt Temporal-Annotationen zur Definition von Workflow-Schnittstellen und Aktivitäten, was es dem Framework ermöglicht, diese zu verwalten. Die Abhängigkeit vom Temporal SDK sowie Konfigurationen für Client und Worker werden ebenfalls eingerichtet. Die Implementierung trennt die Geschäftslogik von den zugrunde liegenden Infrastrukturanliegen, was die Entwicklung vereinfacht.