-
Task
-
Resolution: Done
-
Major
Further to FAI-603 that solved Quarku's DevServices messaging issue with Hotreload I am yet to have a working Tracing/Trusty service messaging solution.
We cannot use the DevServices Kafka broker when both the source and sink are in the same process space (i.e. DEV-UI has direct dependency on TrustyService).
The Kafka InMemoryConnector connector does not "react" i.e. you need to push from the source (not a problem, we do this already) and then pull in the sink (this is a problem as the Kafka broker normally calls these methods when delivering a message. At best we'd need to setup a thread to periodically pull the messages). Pulling gets every message (so we'd also need to provide some work queue).
Options
Have the Tracing add-on couple to the TrustyService in development mode:
- Change the Tracing add-on to emit messages (i.e current behaviour) to Kafka when in production or a TrustyService container is detected
- When in development couple the Tracing add-on to the TrustyService by having a direct dependency and just call Trusty's message handler methods (this removes all advantages of having a message broker, no asynchronous execution, no resilience, no back-pressure etc but we're running in development so these may not be issues).
Follow DataIndex example:
- Use DevServices Kafka broker but launch a new TrustyService container. Consistent with both other DevServices services and DataIndex.
- is blocked by
-
KOGITO-6258 Quarkus: DevServices: "Built-in" Kafka hot-reload blocks process
- Resolved
-
KOGITO-6318 Quarkus: DevServices: Include localhost when shared network is enabled
- Resolved
-
QUARKUS-1501 DevServicesKafkaProcessor: Always expose to Docker host network
- Closed
-
QUARKUS-1490 Use BuildItem to enable use of TestContainers shared network
- Closed
- relates to
-
FAI-603 Leverage in-memory messages for integration with DevUI
- Done