In general, load balancing involves sending new client requests to the least busy servers. Based on the running application, assign a βbusy factorβ to each server: basically a number that reflects one or more points of interest for your load balancing algorithm (connected clients, CPU / memory usage, etc.), and then select a server at runtime the lowest such score. Basically ANY load balancing method is based on the following:
- Round robin does not implement a busy estimate as such, but assigns each consecutive request to the next server in a circular queue.
- The smallest connections have their own account = number_of_open_connections on the server. Obviously, it is better to use a server with fewer connections.
- A random assignment is a special case - you make an uninformed decision to load the server, but assume that the function has a statistically uniform distribution.
source share