Agents communicate with the server over JMS and HTTP or
HTTPS. These modes of communication are handled differently in a high
availability scenario.
JMS communication
JMS communications is
subscription-based. All agents subscribe to all topics and filter
the list with their agent ID. For this reason, assigning unique IDs
to agents is required.
For JMS-based communications, agents
can be configured in two ways:
- Approach 1: Agents are individually configured for failover. They
connect to a series of endpoints, which are tried in some order if
failures occur.
- Approach 2: Agents connect to a single endpoint that uses an agent
relay. The agent relay can also be configured for failover.
Approach 1 works best because it allows for you to configure
stable failover configurations in ActiveMQ.
Note: Do not configure a load balancer to distribute requests for the
agent communication JMS port. To ensure agent and agent relay availability, configure
them for failover.
HTTP or HTTPS communication
A standard load
balancer handles HTTP or HTTPS server-agent communications. Authentication
is run on every request; any server can run validation for any request.
In
case of server failure, user-server authentication must be redone
unless the ‘remember me’ cookie is used.