Setting up a failover mechanism

QAnywhere applications can be set up with a failover mechanism so that alternate MobiLink servers can be used if one fails. To support failover, each QAnywhere Agent must be started with a list of MobiLink servers. The first MobiLink server specified in the list is the primary server. The remaining servers in the list are alternate servers.

For example, running the following command on the remote device starts the QAnywhere Agent with one primary server and one alternate server:

qaagent -x tcpip(host=ml1.ianywhere.com)
        -x tcpip(host=ml2.ianywhere.com)

Each QAnywhere Agent can have a different primary server.

The following diagram describes a failover configuration in which you have multiple MobiLink servers and multiple QAnywhere agents. You have multiple client message stores, but all MobiLink servers are connected to the same server-side message store.

The server message store communicates with the client messages stores via MobiLink servers and remote agents.

This configuration has the following characteristics:

  • When a message transmission occurs, all messages in the server message store are delivered to the client message store regardless of the server that the QAnywhere Agent is connected to.

  • Push Notifications are sent to a QAnywhere Agent only when the QAnywhere Agent is connected to its primary server.

  • There is a single point of failure. If the computer with the server message store is unavailable, no messaging can take place.

By default, when you set up failover MobiLink servers, the QAnywhere Agent always tries an alternate server immediately upon a failure to reach the primary server. If you want to change this default behavior, you can use the QAnywhere Agent -fr option to cause the QAnywhere Agent to try the primary server again before going to the alternate server, and to specify the number of times it should retry. You can use the -fd option to specify the amount of time between retries of the primary server.

The -fr and -fd options apply only to the primary server. If a connection to the primary server cannot be established after the specified number of attempts, the QAnywhere Agent tries to connect to an alternate server. The Agent attempts to connect to each alternate server only once. An error is issued if the Agent cannot establish a connection to an alternate server.

See also