I am not very clear about how the following scenario works in Axon.
I have two instances of the same Microservices running behind a Spring Cloud API Gateway. When an HTTP request is sent to a web service endpoint, Spring Cloud API Gateway routes that request either to instance 1 or instance 2. So HTTP requests are balanced between two running instances.
When a microservice handles an HTTP request, it dispatches a Command. The Command results in an Event raised. Even though there are 2 instances of the same Microservice running, it is always the same/one instance that handles the Event… I am very happy that the Event is handled only by one instance. I do not want an Event to be processed by all running instances. But why is it “always” handled by the “same” instance of a Microservice? Why another instance is never used? Even if I run 3 instances of the same Microservice and the Command is dispatched by different instances(because of a load-balancer), the Event is always handled in the same instance…