I'm trying to use Kafka for my event handling, but I'm struggling a bit to understand what pattern I should use.
My use case is this:
- One consumer waits for one type of event.
- When that event is processed, the same consumer need to produce several different types of events to different topics using a subset of that incoming events properties.
- Then once all of those events are consumed (the order doesn't matter) by their respective consumer I need to know it and send the aggregated response to another topic.
I've looked at building a Saga state machine, event aggregator, fan in/fan out and scatter/gather as possible solutions, but I'm not sure what would be the best approach. Kafka Streams?
Any suggestions would be highly appreciated.