Configuring Highly Available Servers
With highly-available servers, one of the backups steps in and takes over messaging with no interruption in service if the client’s primary server crashes.
To configure high availability, set the subscription-redundancy
in the client’s pool configuration. This setting indicates the number of secondary servers to use. For example:
<!-- Run one secondary server -->
<pool name="red1" subscription-enabled="true" subscription-redundancy="1">
<locator host="nick" port="41111"/>
<locator host="nora" port="41111"/>
</pool>
<!-- Use all available servers as secondaries. One is primary, the rest are secondaries -->
<pool name="redX" subscription-enabled="true" subscription-redundancy="-1">
<locator host="nick" port="41111"/>
<locator host="nora" port="41111"/>
</pool>
When redundancy is enabled, secondary servers maintain queue backups while the primary server pushes events to the client. If the primary server fails, one of the secondary servers steps in as primary to provide uninterrupted event messaging to the client.
The following table describes the different values for the subscription-redundancy setting:
subscription-redundancy | Description |
---|---|
0 | No secondary servers are configured, so high availability is disabled. |
> 0 | Sets the precise number of secondary servers to use for backup to the primary. |
-1 | Every server that is not the primary is to be used as a secondary. |