Distributed Load Balancing System with Server Health Monitoring
This project simulates a load balancer routing traffic to multiple backend servers. The goal is to minimize response time, maximize resource utilization, and ensure no server is overloaded.
We initiate three backend servers running on ports 5001, 5002, and 5003, respectively.
The load balancer is started and begins listening for client requests on port 5432.
Several requests are made to the load balancer at localhost:5432. The load balancer distributes these requests across the servers using the Round Robin algorithm, ensuring responses are routed efficiently.
In the event that one of the servers (e.g., port 5003) goes down, the load balancer's health check mechanism identifies the failure and stops routing traffic to the affected server.
Even when a server is down, the remaining servers continue to handle incoming requests seamlessly, ensuring uninterrupted service.
When a previously down server (port 5003) is restored, the load balancer automatically re-integrates it into the rotation, resuming normal request distribution using the Round Robin algorithm.