What
A server that handles incoming traffic and distributes it to the actual servers.
Strategies for Balancing Big Loads 😉
- Round Robin: Simple af. Just serve your servers in an iterative fashion and loop back around to the first once you’ve served them all.
- Works for: Servers of equal specs and workloads of relatively equal size.
- Least Connections: Sends work to the servers based on how busy they already are.
- Good for: Longer tasks or when server load isn’t evenly distributed
- Least Response Times: Choses the most responsive, least laggy and least connected-to server.
- IP Hasher: Gets Hash of IP and gives it to a server. Semi-equally-randomly directs a client to a server based on the client’s hash.
- Good For: Ensuring a client has consistent access to servers.
- Weighted Algo’s: Basically the same vibe for the first few, but each server is assigned weighting based on how busy / capable it is.
What about a Load Balancer Failure?
- Add redundant load balancers to avoid this.