* Lauscht auf dem Topic "validations"
* Passt den Status der Order entsprechend an
* "APPROVED" bei "PASS", "DECLINED" bei "FAIL"
* _Hintergrund:_ Single Writer -- Nur der Bounded Context "Order" greift
schreibend auf das Topic "orders" zu!
* _Beachte:_ Grenzen des Bounded Context sind nicht (müssen nicht) mit
den Microservices übereinstimmen!
+
_Hier:_ BC "Order" besteht aus "take-order", "details", "validation-results"
* Lauscht auf dem Topic "orders"
* Beachtet nur Order-Aufträge im Zustand CREATED
* Prüft, dass "consumerID", "productID" und "quantity" größer 0 sind
* Wenn ja: "PASS", ansonsten "FAIL"
Kai Moritz [Sun, 7 Jun 2020 09:59:21 +0000 (11:59 +0200)]
streams - Übungen - Microservices - Schritt 02
--
Referenz auf State-Store wird dauerhaft gespeichert
* Die Referenz auf den State-Store wird nicht bei jedem GET-Aufruf neu geholt
* Der richtige Ort dafür ist ein State-Listener
* Grund: Ruft man die Refrenz direkt nach dem Start der KafkaStreams-Instanz
auf, befindet sich die App noch nicht im Zustand RUNNING und der Abruf
schlegt fehl!
* Microservice implementiert, der neue Orders annimmt
* Orders werden asynchron angenommen
* HTTP-Antwort erfolgt erst, wenn Order erfolgreich in Topic geschrieben
* Für jede Anfrage wird eine UUID generiert, die als Schlüssel fungiert
* Bei Erfolg wird eine URI zurückgegeben, unter der die Order abfragbar ist