赞
踩
首先整合的时候报错No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?
原因:SpringCloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错。但是nacos中ribbon会造成loadbalanc包失效,所以需要引入loadbalanc,并且排除nacos中的ribbon:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--服务注册-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
报错问题解决了
另外:hystrix应该是进入维护阶段了,熔断降级现在更多的是使用Sentinal,在学习过程中,整合hystrix出现问题,在此记录一下
这里是Controller远程调用vod的删除视频方法,
这里是feign设置的接口化调用
这里是当vod服务宕机时候的降级处理方法
按照视频操作,打开pom注释,引入hystrix,结果报错Could not find artifact org.springframework.cloud:spring-cloud-starter:
,应该是没有找到依赖。
这里的解决办法是:给hystrix加上版本,今天是2022年05月30日,我使用的版本号为2.2.10.RELEASE
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
还有配置文件里feign.hystrix.enable=true
需要替换为:
feign.circuitbreaker.enabled=true
重启服务:点击删除,可以看到走的是hystrix的熔断器方法,不然会走之前的全局异常
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。