Ribbon负载规则替换
注意配置细节
官方文档明确给出了警告:
这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,
否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的了。
(也就是说不要将Ribbon配置类与主启动类同包)
首先需要在启动类的上层目录创建rule包,然后创建MyRule类
@Configuration
public class MySelfRule {
@Bean
public IRule myRule(){
//不用默认的轮询改为了随机
return new RandomRule();
}
}
扫描该类的时候需要在启动类加入以下注解
@RibbonClient(name = "注册中心的服务名字", configuration = MySelfRule.class)
然后进行测试
测试链接
返回结果中的serverPort在8001与8002两种间反复横跳。如下所示: