Smooth weighted round-robin balancing
5 months ago
- #upstream
- #round-robin
- #NGINX
- 代码修改涉及对NGINX上游模块中轮询算法(round-robin)的改动
- 关键变更包括在'current_weight'之外为节点新增'effective_weight'参数
- 'ngx_http_upstream_get_peer'函数被重构,改为返回节点指针而非索引
- 节点选择逻辑新增对节点故障的检查并实现权重动态调整
- 节点'current_weight'现在初始化为0而非其权重值
- 算法新增位掩码机制追踪已尝试节点避免重复选择
- 'effective_weight'会根据节点故障和恢复状态动态调整
- 这些改动旨在提升负载均衡中节点选择的可靠性和效率