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.
- 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.
- 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.
For more information about configuring load balancing, see Configuring Load Balancing.
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
availableare 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.