Skip to main content


Home Load balancer

Load balancer

(also server load balancer or SLB)

Load balancer definition

A load balancer can be either a networking device or software, and allocates network traffic among numerous servers to maximize resource usage, reduce latency, and guarantee system dependability. By evenly distributing the workload, a load balancer averts the possibility of a single server acting as a bottleneck and makes certain that no server is burdened with excessive requests. This, in turn, maintains the high availability and performance of applications and services.

See also: gateway server, home server, VPN gateway, DNS load balancing, DNS round-robin

Load balancer examples

  • Hardware load balancer: A physical device that sits between the client and the server farm, distributing traffic based on predefined algorithms and rules.
  • Software load balancer: A virtualized load balancing solution that runs on a virtual machine or container, offering more flexibility and easier scalability compared to hardware load balancers.

Load balancer algorithms

  • Round Robin: Distributes incoming requests evenly across all available servers, rotating through the list in a cyclical fashion.
  • Least Connections: Directs incoming requests to the server with the fewest active connections, considering server capacity.
  • IP Hash: Assigns client IP addresses to specific servers based on a hash function, ensuring that a client always connects to the same server.

Load balancer pros and cons

Pros

  • Improved reliability and availability of services.
  • Enhanced performance and reduced response time.
  • Scalability and adaptability to changes in workload.
  • Increased security through SSL termination and DDoS protection

Cons

  • Additional hardware or software costs.
  • Potential single point of failure if not properly configured.
  • Complexity in configuring and maintaining the load balancing solution.

Load balancer best practices

  • Use health checks to monitor server status and remove non-responsive servers from the load balancing pool.
  • Implement session persistence to maintain user experience by directing a user's subsequent requests to the same server.
  • Employ SSL termination at the load balancer level to offload encryption/decryption tasks from backend servers and improve performance.