🌥️Spring Cloud版本概述
Spring Cloud
是一系列微服务解决方案的组合套件。它包含分布式配置中心、服务注册与发现、路由、服务调用、负载均衡、断路器、全局锁、领导选举/集群状态和分布式消息等组件。利用这些组件,我们可以快速地构建出一个分布式系统。
Spring Boot
版本介绍
由于Spring Cloud
是基于Spring Boot
进行构建的,所以在介绍Spring Cloud
的版本之前,我们先来看下Spring Boot
的版本。
官网链接:https://spring.io/projects/spring-boot#learn
Spring Boot
版本号遵循主版本号.次版本号.增量版本号.里程碑版本号
方案:
- 主版本号:项目有可能进行重大重构,各主版本之间不一定能兼容。
- 次版本号:在主版本架构不变的情况下,加入新特性,保证兼容。
- 增量版本号:
BUG
的修复。 - 里程碑版本号:当前的发布版本,主要有以下几类:
BUILD-SNAPSHOT
:开发快照版。M
:Milestone
的缩写,里程碑版本。该版本较之前版本在功能上有重大更新,是发布稳定版本的前兆。如M1
/M2
。PRE
:预览版。不建议使用,可能存在未知BUG
。SNAPSHOT
:快照版。可稳定使用,但仍在继续改进功能。RC
:Release Candidate
的缩写。候选发布版本。此版本已相当成熟,基本不存在BUG
。如RC1
/RC2
。RELEASE
:最终发行版本。稳定正式版本。GA
:General Availability
,正式版本,官方推荐使用此版本。在国外是用GA
来标识RELEASE
版本。
Spring Boot
项目所有版本索引地址:https://docs.spring.io/spring-boot/docs/
Spring Cloud
版本介绍
官网链接:https://spring.io/projects/spring-cloud#learn
不同于Spring Boot
及其它Spring
项目的版本命名方式,Spring Cloud
项目的版本是根据英国伦敦地铁站的英文名称并按照字母A-Z
的顺序进行控制的,例如:A(Angel)
、B(Brixton)
、C(Camden)
、D(Dalston)
、E(Edgware)
、F(Finchley)
、G(Greenwich)
和H(Hoxton)
等。直到2020
年4
月16
日,Spring Cloud 2020.0.0-M1
版本发布,从该版本开始,发布至Maven
仓库的版本号将不再使用英国伦敦地铁站方式命名,而是改为全新的“日历化”版本命名方式。
官宣博客:
https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released
“日历化”版本命名方式
“日历化”版本命名遵循YYYY.MINOR.MICRO
方案:
YYYY
:代表四位年份。MINOR
:代表一个递增的数字,每年从0
开始递增。MICRO
:代表先前使用的版本号后缀,例如.0
类似于.RELEASE
,.2
类似于.SR2
。
预发布版本的后缀分隔符从.
变更为-
,例如2020.0.0-M1
和2020.0.0-RC2
;同时快照版本将不再添加BUILD-
前缀,例如2020.0.0-SNAPSHOT
。
在Spring Cloud
项目中出现了新的里程碑版本号:SR
:Service Release
的缩写,表示修正版。修正了正式版本推出后发现的BUG
。如SR1
/SR2
。
虽然发布至
Maven
仓库的版本命名方式发生了变更,但Spring Cloud
项目仍然使用英国伦敦地铁站命名方式作为代码名称。当前为Ilford
。
如何选择合适的版本
Spring Cloud
是基于Spring Boot
进行构建的,两者的版本必须相匹配,我们可以参考官网的版本映射。
官网链接:https://spring.io/projects/spring-cloud
下面列出大版本号的对应选择:
Release Train | Boot Version |
---|---|
2020.0.x aka Ilford | 2.4.x |
Hoxton | 2.2.x, 2.3.x (Starting with SR5) |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
官方提供了一个Actuator
端点返回了详细的各小版本号之间的对应关系。可根据自身需要进行更加细粒度的版本选择。