1)
将springcloud的负载均衡原默认的轮循算法改为 随机算法
Ribbon的核心组件 IRule
在@ComponentScan 注解扫描不到的地方添加一个新的类
package myrule;
import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MySelfRule {
@Bean
public IRule myRule(){
//定义为随机的
return new RandomRule();
}
}
然后就是在启动类添加注解
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
这样就可以吧轮循算法改变成随机算法了
2. Ribbon负载均衡算法
负载均衡的算法:rest接口第几次请求数 % 服务器集群总数量 = 实际调用服务器位置下标 ,每次服务重启后rest接口计数从1开始