An Improved Dynamic Smooth Weighted Round-robin Load-balancing Algorithm

Load-balancing is a key component of highly available network infrastructure. Weighted round-robin is one of the important strategies to achieve load-balancing, which is a classic research subject. In recent years, the weighted round-robin algorithm has developed from static weight to dynamic. The Dynamic weighted round-robin algorithm needs further research in time-sensitive of dynamic weights and the rationality of results. Based on Nginx, this paper improves the dynamic weighting algorithm. Firstly, it proposes a method of dynamically calculating weights. The method determines the weight of the server in the cluster according to its theoretical performance and runtime state. Secondly, making the request allocation result more balanced and avoiding continuous centralized scheduling by an improved weighted algorithm. Experiments show that the algorithm proposed in this paper is effective and can improve system performance and load-balancing efficiency.