Axon Server Enterprise Trial Cluster

Hi,

We have taken a trial license of axon server enterprise. We are trying to setup an axon cluster on AWS. We have created 2 AZs in one region. In those 2 AZs we have created private subnets. In Each subnet we have launched few axon server instances. Axon servers are up on all nodes and all nodes are connected to each other. My query is how to access thus axon cluster from an application which is deployed in a k8s cluster. WHat will be the value of axon.axonserver.servers property. We cant put the leader node ip as the leader node may go down and a new leader with different ip will come up. Do we need to create an internal load balancer in AWS to access Axon Server Cluster from our application? Please help with the Axon server cluster setup in AWS.

Thanks and Regards,
Jagdev Singh

Hi Jagdev,

Each Axon Server node has a property hostname that is used as the name by which it can be accessed from applications. By default, it will be set to the hostname of the machine, but you can change it in axonserver.properties to be whatever you want.
Clients will know how to reach Axon Server by the axon.axonserver.servers. The value of the property can be a comma-separated list, e.g node-1,node-2,node-3.

The communication between the client and Axon Server is set up in two steps:

  1. the client contacts one of the admin nodes, the admin nodes will return the address of the actual Axon Server node to connect to, based on the requested context and the already connected applications on the servers.
  2. if the response contains another Axon Server node to connect to, the client will connect to that Axon Server node and continue with that connection.

This also means that the hostnames returned by Axon Server must be resolvable at the client.

Marc