Axon Server Clustering
NOTE: This feature is only available on the Enterprise Edition of AxonServer
When running Axon Server in a licensed edition, you can set up a cluster of Axon servers. The servers run in active/active mode, so each node can receive and handle requests.
You can set the following properties in the axonserver.properties
configuration file:
axoniq.axonserver.name
- logical name of the node in the cluster. This must be unique within the cluster.axoniq.axonserver.hostname
- sets the hostname as this node advertises it to clientsaxoniq.axonserver.domain
- sets the domain as used in returning the server address to clientsaxoniq.axonserver.internal-hostname
- hostname to be used by other nodes in the server clusteraxoniq.axonserver.internal-domain
- domain to be used by other nodes in the server clusteraxoniq.axonserver.internal-port
- internal gRPC port number for communication to other nodes
When there is no hostname specified it defaults to the hostname as returned by the hostname command.
Sample configuration:
Connecting the nodes of a cluster is done using the command line interface. Send the register-node command to one node, specifying the address of another node in the cluster, e.g.
When you have a default setup with all nodes using the default port you can omit a number of parameters from this request. To connect node2 to with node1 run the following command on node2:
Default value for -S
option is http://localhost:8024 and for -p is 8224 (default internal communication port).
This only has to be done once, each node maintains a list of all nodes in the cluster.
Internal APIs and stability guarantees
Within the endpoints documented in /swagger-ui.html, you can find some /internal/* APIs that are not part of the public APIs. These APIs are not supposed to be used and will change without notice.
Last updated