PingDataSync Server supports endpoint failover, which is configurable using the
location property on the external servers. By default, PingDataSync Server prefers to connect to and failover to endpoint servers in the same
location as itself. If no location settings are configured, PingDataSync Server will
iterate through the configured list of external servers on the Sync Source and Sync
Destination when failing over.
PingDataSync Server does not perform periodic health checks of external servers, and does not failover automatically to a preferred external server. Due to the cost of sync failover, PingDataSync Server remains connected to a given server until the server stops responding or until the Sync Pipe is restarted. When a failover occurs, PingDataSync Server returns to the most preferred server, optionally using location settings to identify it, and works its way down the list. The following provides an example configuration of external servers:
austin1.server.com:1389 london1.server.com:2389 boston1.server.com:3389 austin2.server.com:4389 boston2.server.com:5389 london2.server.com:6389
If the austin1 server were to become unavailable, PingDataSync Server will automatically pick up changes on the next server on the list, london1. If london1 is also down, then the next server, boston1 will be picked up. After PingDataSync Server iterates through the list, it returns to the top of the list. If PingDataSync Server is connected to london2 and it goes down, it will fail over to austin1.
To minimize WAN traffic, configure the
location property for each
external server using the
dsconfig command on PingDataSync Server.
Assume that PingDataSync Server has its own
location property (set in
the Global Configuration) set to "austin."
austin1.server.com:1389 location=austin london1.server.com:2389 location=london boston1.server.com:3389 location=boston austin2.server.com:4389 location=austin boston2.server.com:5389 location=boston london2.server.com:6389 location=london
location property set for each server, PingDataSync Server
gets its changes from server austin1. If austin1 goes down, PingDataSync Server will
pick up changes from austin2. If austin2 goes down, the server will iterate through the
rest of the list in the order it is configured.
location property has another sub-property,
preferred-failover-location that specifies a set of alternate
locations if no servers in this location are available. If multiple values are provided,
servers are tried in the order in which the locations are listed. The
preferred-failover-location property provides more control over the
failover process and allows the failover process to jump to a specified location. Care
must be used so that circular failover reference does not take place. Here is an example
austin1.server.com:1389 location=austin preferred-failover-location=boston london1.server.com:2389 location=london preferred-failover-location=austin boston1.server.com:3389 location=boston preferred-failover-location=london austin2.server.com:4389 location=austin preferred-failover-location=boston boston2.server.com:5389 location=boston preferred-failover-location=austin london2.server.com:6389 location=london preferred-failover-location=london
PingDataSync Server will respect the
it cannot find any external servers in the same location as itself, it will look for any
external servers in its own
preferred-failover-location. In this
example, when austin1 becomes unavailable, it will fail over to austin2 because they are
in the same location. If austin2 is unavailable, it will fail over to boston1, which is
preferred-failover-location of PingDataSync Server. If
boston1 is unavailable, PingDataSync Server will fail over to boston2, and finally,
it will try the london1 and london2 servers.