High availability is the ability for the system to continue functioning after failure of one or more of the servers.

A part of high availability is failover which is the ability for client connections to migrate from one server to another in event of server failure so client applications can continue to operate.

Note
Only persistent message data will survive failover. Any non persistent message data will not be available after failover.

Live / Backup Pairs

${build.shortName} messaging allows servers to be linked together as live - backup pairs where each live server has a backup. Live servers receive messages from clients, while a backup server is not operational until failover occurs. A backup server can be owned by only one live server, and it will remain in passive mode, waiting to take over the live server’s work.

When a live server crashes or is brought down in the correct mode, the backup server currently in passive mode will become the new live server. If the new live server is configured to allow automatic failback, it will detect the old live server coming back up and automatically stop, allowing the old live server to start receiving messages again.

Note
If you deploy just one pair of live / backup servers, you cannot effectively use a load balancer in front of the pair because the backup instance is not actively processing messages. Moreover, services such as JNDI and the Undertow web server are not active on the backup server either. For these reasons, deploying JEE applications to an instance of ${build.shortName} being used as a backup messaging server is not supported.

HA Policies

${build.shortName} messaging supports two different strategies for backing up a server: replication and shared store. Each strategy can take the role of a master or slave. Remember that only one HA policy option can be configured per messaging server.

For more information about high availability and the different strategies and policies, see High Availability.