I'm implementing a solution based on Event Sourcing and CQRS patterns.
In my use case I have:
In a simple scenario, where there is a single instance of the READ microservice, all works as expected:
Now suppose that you want to scale out the READ microservice (the event's consumer) to two or more instances. This is what will happen:
Is there a way to handle this scenario?
Usually there is 1 active process with the catch-up subscription doing update to your read model.
And eventually a second one on stand-by if that first process should stop unexpectedly
When that becomes too slow , you can have multiple processes and partition them in such a way that they would handle a specific set of documents on the same target store.