问题遇到的现象和发生背景
没有IRule接口咋办啊 加Ribbon依赖会报错的 eureka3.0以上版本包括了Ribbon 但没有Ribbon依赖就没有IRule接口啊
问题相关代码,请勿粘贴截图
//配置负载均衡实现RestTemplate
//负载均衡有个核心的实现 IRule(路由网关)
// RoundRobinRule : 轮询 (默认的就是轮询)
// RandomRule : 随机
// AvailabilityFilteringRule : 会先过滤掉 跳闸、访问故障的服务,对剩下的进行轮询
// RetryRule : 会先按照轮询获取服务,如果服务获取失败,则会在指定的时间内重试
@Bean
@LoadBalanced //Ribbon
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
@Bean
public IRule myRule(){
}
<!--Ribbon-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
<!-- <version>2.2.10.RELEASE</version>-->
<!-- </dependency>-->
<!--加入eureka依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
运行结果及报错内容
就是没有找到IRule接口,因为没导Ribbon依赖,但eureka3.0以上版本包括了Ribbon,再导入Ribbon依赖运行后连接其他服务会报错
我的解答思路和尝试过的方法
eureka3.0以上版本包括了Ribbon 但没有Ribbon依赖就没有IRule接口 加入了Ribbon依赖IRule接口才出来,但运行后连接其他服务会报错
我想要达到的结果
用IRule接口自定义Ribbon负载均衡