A load balancer can be a physical device or a virtualized instance running on specialized hardware or a software process.In this video we will see load balancing in system design. A load balancer simply distributes the set of requested operations effectively across multiple servers and ensures that no single server bears too many requests that lead to degrading the overall performance of the application. There are some properties of load balancer like:Ø A Load balancers minimize server response time and maximize throughput.
1) A Load balancer ensures high availability and reliability by sending requests only to online servers
2) Load balancers do continuous health checks to monitor the server’s capability of handling the request.
3) Depending on the number of requests or demand load balancer add or remove the number of servers.
A load balancer can be located:
- In between the client application/user and the server
- In between the server and the application/job servers
- In between the application servers and the cache servers
- In between the cache servers the database servers
We need a load balancing algorithm to decide which request should be redirected to which backend server. The different system uses different ways to select the servers from the load balancer. Companies use varieties of load balancing algorithm techniques depending on the configuration.
There are various load balancing algorithms:
1. Round Robin
2. Weighted Round Robin
3. Least Connection Method
4. Least Response Time Method
5. Source IP Hash
Load Balancer in System Design | Interview Question: https://www.geeksforgeeks.org/load-balancer-system-design-interview-question/