PingDirectory

About load-balancing algorithms

Load-balancing algorithms determine which server in a set of similar servers to use to process a client request.

The PingDirectoryProxy server provides the following load-balancing algorithms:

Fewest operations

Forwards request to the backend server with the fewest operations currently in progress.

Single server

Sends requests to the same server and doesn’t attempt to fail over to another server if the target server is unavailable.

Weighted

Administrators explicitly assign numeric weights to individual servers or sets of servers to control how likely they are to be selected for processing requests relative to other servers.

Health-based weighting

Uses the health check score to assign weights to each of the servers so that a server with a higher score gets a higher percentage of the traffic than a server with a lower score. The proportion of traffic received is the difference between their health check scores.

Failover

Sends requests to a given server first. If that server fails, then the request sends to another specified server as specified in the ordered failover server list.

Learn more about Configuring load balancing.

Algorithm criteria

The algorithm takes the following criteria into account:

Location of the server

Servers in the same location as the PingDirectoryProxy server are preferred over those in alternate locations.

Health of the server

Servers that are available are preferred over those that are degraded. In some cases, the health check score can be used to further differentiate between servers with the same health check state.

Route requests consistency

Requests from a single client can be consistently routed to the same PingDirectoryProxy server instance to avoid problems such as propagation delay from replication.

Operation retries

Retries the operation in an alternate server if the request fails or the operation times out. You can control if the retry is allowed and, if so, how many times to retry and the time out interval.