前言
之前看视频学习的时候发现老师并没有讲到openfeign替换轮询的负载均衡算法,所以记录一下。
视频学习来源:尚硅谷周阳老师的SpringCloud
所遇问题
最开始直接按照原始的ribbon进行替换,进行报错,说并没有这个类

解决
查官网
查官网发现是因为由于ribbon已经进入维护了,所以默认将ribbon进行停用了。
官方地址

只需要将其设置为 true 就可以正常使用了
改yml
添加这个配置就行了
spring:
cloud:
loadbalancer:
ribbon:
enabled: true
加配置
这个配置类不能在主启动类同包下或其子包

/**
* @author wzcstart
* @date 2021/4/2 - 21:19
*/
@Configuration
public class MyRulerConfig {
@Bean
public IRule getRandomRule(){
return new RandomRule();
}
}
主启动
然后就进行测试吧
/**
* @author wzcstart
* @date 2021/4/2 - 20:01
*/
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = com.guigui.myruler.MyRulerConfig.class)
public class OrderFeignMain80 {
public static void main(String[] args){
SpringApplication.run(OrderFeignMain80.class,args);
}
}
本文记录了在学习Spring Cloud时遇到的OpenFeign使用Ribbon进行负载均衡时出现的类找不到问题。原因是Ribbon已进入维护模式,默认被禁用。解决方案是通过配置启用Ribbon,并提供了一个配置类以使用RandomRule。添加相关配置到yml文件并创建@Configuration类后,问题得到解决。
1万+

被折叠的 条评论
为什么被折叠?



