Load-balancing algorithms are used to determine which server in a set of similar servers should be used to process a client request. The algorithm can take the following criteria into account:
  • Consider the location of the server. Servers in the same location as the Directory Proxy Server can be preferred over those in alternate locations.

  • Consider the health of the server. Servers that are available are preferred over those that are degraded. In some cases, the health check score may also be used to further differentiate between servers with the same health check state.

  • Route requests consistently. Requests from a single client may be consistently routed to the same directory server instance to avoid problems such as propagation delay from replication.

  • Retry 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.

The PingDirectoryProxy Server provides the following load-balancing algorithms:
  • Fewest operations. Requests are forwarded to the backend server with the fewest operations currently in progress.

  • Single server. Requests are always sent to the same server and will not 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. Requests are always sent to a given server first. If that server fails, then the request is sent to another specified server, and so on through an ordered failover server list.

For information about configuring load balancing, see Configuring Load Balancing.