I’m planning to use EventStore as an
EventBus.
Currently I’m using RabbitMQ for event
delivery.
Let’s consider a system in production
that operates for over one year, and we want to introduce new Saga.
This saga
would be responsibile for sending notifications to users and it’s important
that we send notifications not only
in response to events that happened after
saga introduction but also before.
General approach would be to reject
current saga state (remove state transition stream in ES) and create catch-up
subscriptions for the event types that saga is updated by. This however introduces problem with
ordering.
How should I join multiple streams with a
meaningful order ?
Current implementation handles only live
events sent through topic exchange in RabbitMQ.
On the code level i say “I
want for this saga to get events of type A and B(but only if B.someProperty ==
true)”.
I’m searching for effective method to recreate this functionality
with capability to recreate saga state.
Best regards,
Greg