官方推荐版本: SpringCloudAlibaba

image.png
image.png

本人项目使用版本

Spring Cloud VersionSpring Cloud Alibaba VersionSpring Boot Version
2020.0.12.2.5.RELEASE2.4.2

Q:为什么SpringCloudAlibaba未使用官方推荐的2021.1版本
因为项目中引用的spring-cloud-starter-alibaba-nacos-config,使用官方指定版本2021.1,需要手动指定版本号为nacos-config版本为2.2.5.RELEASE,否则的话nacos无法实现负载均衡

1. 项目无法加载bootstrap文件

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

2.引入openFeign后启动失败

报错信息:

Unexpected exception during bean creation; nested exception is java.lang.IllegalStateException: 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会报错

解决办法

  • 引入loadbalancer依赖
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
  • 排除依赖,如果使用了nacos作为注册中心,nacos默认引入的负载均衡组件为ribbon,我们需要排除ribbon的依赖
<dependency>
	<groupId>com.alibaba.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>