Load balancing is the process of distributing workload evenly across multiple servers. The critical component of any distributed system is the Load Balancer. This helps spread the traffic across a cluster of servers to enhance applications, websites responsiveness and availability. Load Balancers also detect the health of back end resource and do not send traffic to servers, which cannot achieve requests, along these lines load balancers can improve network and application performance by controlling and handling applications and network sessions automatically by using various algorithms.
Load balancers can help Minimize the risk of denial-of-service attacks in addition to providing simple distributed service to multiple servers, grant legitimate users to access services without interruption, protect against single-point failures and avoid network traffic bottlenecks. Therefore, we can say that the LB is first line of defense against DDOS.
Load Balancer algorithms:
- Round robin ( Sequential request distribution )
- Weighted round robin (Handle servers with different processing capacities)![file]
- Least connection (request sent to the least used server in the network)
- IP Hash (Request sent to the server based on client IP)
Hardware vs. Software load balancing
Load balancers commonly come into two different flavors (hardware-based and software-based). It may be a physical device or a virtualized instance running on particular hardware or a software process, the big differences are:
Hardware LB includes the proprietary of hardware, Rack-and stack hardware appliance, while software load balancers are installed on a standard servers or virtual machines. Load balancers software solutions run on commodity hardware making them less costly and more scalable. Where you can install the software in cloud datacenters.
L4 vs L7 Load Balancing:
Layer 4 load-balancer takes routing decision based on IPs and TCP or UDP ports. It has a packet view of the traffic exchanged between the client and a server, which means it, takes decisions packet by packet. The layer 4 connection is established between the client and the server.
Layer 7 load balancing redirects traffic more intelligently by inspecting content to gain deeper context on the application request. This additional context allows the load balancer to not only optimize load balancing but also to also rewrite content, perform security inspections and to implement access controls - sorce.
Benefits of using the Load Balancers:
- Distribution of incoming traffic to the network effectively through multiple servers.
- Reliability & High availability are preserved by redirecting requests only to the available servers.
- Simple to use when adding and removing servers on the network according to request