Weighted Round Robin Load Balancing is an extension of the Round Robin algorithm that takes into account different weights assigned to each instance. These weights represent the capacity or capability of each instance to handle requests. Requests are distributed to instances based on their weights in a circular order, ensuring that instances with higher weights receive more requests compared to those with lower weights.
Weighted Round Robin Load Balancing is suitable for environments where instances have different capacities, such as cloud computing platforms with varying VM sizes. It ensures efficient resource allocation and supports scaling based on workload demands.
Here is the Java implementation of the Weighted Round Robin Load Balancing algorithm. This implementation reads metrics from a CSV file and distributes incoming requests to instances based on their assigned weights.