1 About Load Balancing

The term load balancing refers to the efficient distribution of incoming network traffic across a group of backend servers. The use of load balancing ensures that an infrastructure is highly available, reliable, and that performance isn't degraded. Load balancers can typically handle traffic for the HTTP, HTTPS, TCP, and UDP protocols.

Load balancers manage network traffic by routing client requests across all the servers that can fulfill those requests. This routing maximizes speed and capacity use so that no one particular server becomes overloaded, thereby improving overall performance. In situations where a server might become unavailable or goes down, the load balancer redirects any incoming traffic to other servers that are online. In this way, server downtime is minimized. When a new server is added to the server group, the load balancer automatically redistributes the workload and starts to send requests to that new server.

In Oracle Linux, load balancing of network traffic is primarily handled by two integrated software components: HAProxy and Keepalived. The HAProxy feature provides load balancing and high-availability services to TCP and HTTP, while Keepalived performs load balancing and failover tasks on both active and passive routers. The NGINX feature can also be used in Oracle Linux for load balancing.