Load balancers can use numerous algorithms to distribute requests to servers. The algorithm chosen will depend on various factors. The following list outlines the techniques that are used to load balance access requests:
- DNS Round Robin - A simple method of load balancing servers, or for providing simple fault tolerance.
- Weighted Round Robin - This builds on the simple DNS Round Robin load balancing method.
- Least Connection - Builds on DNS Round Robin and Weighted Round Robin but takes current server load into consideration.
- Weighted Least Connection - Builds on the Least Connection method but can have preferences set to favour certain servers.
- Agent Based Adaptive Load Balancing - Uses real time server load information to allocate requests.
- Chained Failover (Fixed Weighted) - There is a predetermined chain of servers and all requests are sent to a server until it can’t service more requests, then the next server in chain gets all requests.
- Weighted Response Time - Uses the response time from a server health check to determine the server that is responding fastest at a particular time.
- Source IP Hash - Uses an algorithm that takes the source and destination IP address of the client and server to generate a unique hash key. This key is used to allocate the client to a particular server. Useful for server affinity.
- SDN (Software Defined Networking) Adaptive - Combines knowledge of upper networking layers, with information about the state of the network at lower layers and uses this to determine the best server for requests.