I can’t get the new claim “evolutionary microservices” out of my head … it seems to be a good and fitting idea to start with a monolith and later extract components as a separate system.
I understand that axon supports this by using the key busses/gateways (command/event/query) for communication in the monolith.
What I do not really get: Assume I have 3 Aggregates (A,B,C) as bounded contexts in my monolith that all use the Simple/Default busses.
In A spring boot application, how would I configure my busses/gateways so A and B stay on one system and C becomes a new one … when I do not want A and B communicate through a remote messaging, is there a way to configure the communication on a command/aggregate level so each command can be routed to either a remote or simple bus without forcing the publisher/sender dealing with the details?
Are there examples for this combination of distributed and local communication?