I config distributed command bus following this example project GitHub - AxonFramework/extension-springcloud-sample: Sample project showcasing Axon's Spring Cloud extension, but I set axon.axonserver.enabled to true. The command list on the AxonServer dashboard is missing, but it still be able to store events. Is this normal behavior or I miss something?
AxonServer is both an Event Store and a Message Router!
Spring Cloud is a Message Router as well… seems like with your setup, you are using Axon Server as an Event Store but not as a Message Router and you are getting a behaviour I would expect.
But as I said before, you can use Axon Server to do the same and more and just keep it simple, dropping Spring Cloud altogether and having less infra pieces to manage =)
Thank you for the answer. I want to scale my application by adding more instances so I read the document they recommend using either spring cloud or jgroups to distributing the command bus. Regarding to your answer, is it possible to only use AxonServer without these extensions.
It would be easier to only use Axon Server in this case, @xXExpertAxonUserXx.
Axon Server is the following from the perspective of your Axon Framework application:
- A Distributed Command Bus
- A Distributed Query Bus
- A Distributed Event Bus
- A dedicated Event Store
It is true that Axon Framework recommends usage of a distributed command bus when you want to scale your application.
To that end, you can choose between the Spring Cloud Extension, JGroups Extension, and Axon Server.
The notable downside of the Spring Cloud and JGroups Extensions is that you need to configure more. Axon Server simplifies this.
You can combine extensions with Axon Server, but it would be easier for you if you only use Axon Server in this case.