High-availability failover is available with either automatic client failover, or application-level failover, through a live-backup structure. Each live server has a backup server, which can also be backed up by as many servers as necessary.
The backup server only takes over if the live server crashes and there is a failover. Simulteneously, one of the secondary backup servers takes over as the passive backup server, from the new live server. After the failover, and after the former live server has been restarted, it becomes a secondary backup server, or the backup server if there are only two.
Clustering should be enabled even if you are not using the clustering capabilities. This is because each node of the HA cluster must have a cluster-connection to all of the other nodes, in order to negotiate roles with the other servers.
A shared file-system-directory is required, in order for the backup server to send/receive messages as a response to the messages received by the previous live server.
High availability cluster topology is achieved by the live and backup server as they send information about their connection details by using IP multicasts. If IP multicasts can not be used, it is also possible to use a static configuration of the initial connections. After the initial connection, the client is informed about the topology. If the current connection is stale, the client establishes a new connection to another node.