Load Balancing

Load Balancing practices are designed to distribute requests and plan resources as load balancers make sure that all requests are sent to operating servers with working capacity.

When users want to visit the website, the requests are sent to Load Balancer, load balancer then picks a server and proxies (not redirects) requests to it. And then proxies the response back to the user or app.

Usually end users/apps cannot reach servers that actually handle requests directly, which then directs their request to the server.

There are software and hardware load balancers. Software load balancers are typically implemented as software programs running on a dedicated server or separate computing environment. They use various algorithms to evaluate incoming requests and distribute them, optimizing the use of available resources and making sure that requests are processed by highly operating systems with working capacity.

Hardware load balancers, or hardware load balancing devices (HLD), are physical devices with an operating system designed specifically for load balancing. They are typically installed in a data center or server room and are used to distribute traffic among multiple servers. Hardware load balancers often provide additional features such as SSL offloading, content caching, and advanced security features.

Load balancing is an important technique for improving the performance, availability, and scalability of websites and web applications, particularly those that experience high traffic volumes or have complex architectures.

To sum up, load balancers distribute requests across multiple servers, to ensure that users receive fast, reliable service, while also minimizing the risk of server downtime or service outages.

Previous term: Layers

Next term: Proxy