Ribbon负载规则替换

注意配置细节

官方文档明确给出了警告:

这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,

否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的了。

(也就是说不要将Ribbon配置类与主启动类同包)

首先需要在启动类的上层目录创建rule包,然后创建MyRule类
image

@Configuration
public class MySelfRule {

    @Bean
    public IRule myRule(){
	//不用默认的轮询改为了随机
        return new RandomRule();
    }
}

扫描该类的时候需要在启动类加入以下注解

@RibbonClient(name = "注册中心的服务名字", configuration = MySelfRule.class)

然后进行测试
测试链接
返回结果中的serverPort在8001与8002两种间反复横跳。如下所示:
image
image

posted @ 2021-11-09 10:48  Primary丶  阅读(44)  评论(0编辑  收藏  举报