Spring Cloud Alibaba、Spring Boot、Spring Cloud版本对应关系

SpringBoot和SpringCloud版本关系
在搭建SpringCloud项目环境架构的时候,需要选择SpringBoot和SpringCloud进行兼容的版本号,因此对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启动不起来,怪异的则会是你的项目出现一些诡异的问题,查资料也不好查。下面就收集一下SpringBoot与SpringCloud版本之间的对应关系,在搭建项目框架或者学习时按照对应的版本区间进行选择即可,避免走一些不必要的弯路。
Spring Cloud Release TrainSpring Boot Version
Hoxton 2.2.x
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x
Camden 1.4.x
Brixton 1.3.x
Angle 1.2.x
注意: 官方通告SpringBoot1.5.x及以下版本官方不再提供维护了,建议开发者选择使用SpringBoot2.0.x以上的版本,相对应的SpringCloud版本也最好不要使用。
访问Spring官方地址,可获取SpringBoot和SpringCloud版本对应信息。地址:https://start.spring.io/actuator/info

 

 项目搭建初期,如何对SpringBoot和SpringCloud的一个相互兼容性版本号进行选择,这是很重要的一步,例如SpringCloud的Hoxton.SR3这个版本,他对应的"Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT"版本,意思就是如果选择使用SpringCloud的Hoxton.SR3这个版本,那么SpringBoot的版本需要大于等于2.2.0小于2.3.0即可满足兼容性。

引入SpringCloud版本管理:
官方提供了管理Spring Cloud每个版本兼容的pom,引入下面依赖管理信息即可:
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
 </dependencyManagement>

使用Spring Boot:

Spring Boot可以也像父工程那样管理自己内部的兼容版本号,如下:
<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.2.5.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

 

SpringBoot、SpringCloud、SpringCloudAlibaba版本对应关系
由于Spring Cloud基于Spring Boot构建,而Spring Cloud Alibaba又基于Spring Cloud Common的规范实现,所以当我们使用Spring Cloud Alibaba来构建微服务应用的时候,需要知道这三者之间的版本关系。
下表整理了目前Spring Cloud Alibaba的版本与Spring Boot、Spring Cloud版本的兼容关系:
毕业版本依赖关系(推荐使用):

 

 

Spring Cloud Alibaba与组件版本关系
Spring Cloud Alibaba是基于Spring Cloud Common的规范实现,而Spring Cloud Alibaba内的各个微服务组件依赖于Spring Cloud Alibaba自身,因此我们需要知道Spring Cloud Alibaba与其自身微服务组件之间的版本关系。
下表整理了目前Spring Cloud Alibaba的版本与Sentinel、Nacos 、RocketMQ 、Dubbo、Seata版本的兼容关系:
组件版本关系:

 

 版本管理规范:

项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式。
由于Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且 spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此我们采取跟 SpringBoot 版本号一致的版本:
1.5.x 版本适用于 Spring Boot 1.5.x
2.0.x 版本适用于 Spring Boot 2.0.x
2.1.x 版本适用于 Spring Boot 2.1.x
2.2.x 版本适用于 Spring Boot 2.2.x
 
总结:
由于Spring Cloud基于Spring Boot构建,而Spring Cloud Alibaba又基于Spring Cloud Common的规范实现,所以当我们使用Spring Cloud Alibaba来构建微服务应用的时候,需要知道这三者之间的版本关系。可以通过各自的官网和相应的github地址查看版本说明和对应关系。
参考文档:
Spring-Cloud-Alibaba版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
SpringBoot和SpringCloud版本对应信息查询地址:https://start.spring.io/actuator/info
posted @ 2021-05-18 17:07  悬铃木pp  阅读(5040)  评论(0编辑  收藏  举报