2.2 Spring Cloud版本简介
前面我们讲过,Spring Cloud是一套整合了各大公司开源技术的规范,而这些开源技术的版本发布是由各个公司来维护的,每个子项目都维护了自己的发布版本号,所以它不像传统意义上的版本命名,而是采用了伦敦地铁站的名字根据字母表的顺序结合对应版本的时间顺序来定义一个大版本,Spring Cloud以往的版本发布顺序排列如下:
• Angel(最早的Release版本)
• Brixton
• Camden
• Dalston
• Edgware
• Finchley
• Greenwich
• Hoxton(最新的版本)
Spring Cloud的每一个大版本通过BOM(Bill of Materials)来管理每个子项目的版本清单,如图2-1所示是Spring Cloud官网提供的各个子项目的版本清单,表头(Edgware.SR6、Greenwich.SR2)表示Spring Cloud的大版本号。表格中的内容是当前大版本号对应所有子项目的版本号。简单来说,如果我们引入Spring Cloud的版本是Edgware.SR6,那么依赖的Spring-Cloud-Aws的版本号为1.2.4.RELEASE,Spring-Cloud-Bus的版本号为1.3.4.RELEASE。细心的读者会发现Spring Cloud大版本号后面多了一个.SR6/.SR2,Spring Cloud项目的发布内容积累到一个临界点或者解决一些严重的Bug后,会发布一个Service Release的版本,简称SRX,其中X是一个递增的数字。
图2-1 Spring Cloud各个子项目的版本清单
值得注意的是,Spring Cloud中所有子项目都依赖Spring Boot框架,所以Spring Boot框架的版本号和Spring Cloud的版本号之间也存在依赖及兼容的关系。如图2-2所示,是Spring Cloud官方提供的版本依赖关系。Edgware和Dalston这两个版本可以构建在Spring Boot 1.5.x版本上,但是不能兼容Spring Boot 2.0.x。并且,从Finchley版本开始,Spring Boot版本必须在2.0.x之上,不支持Spring Boot 1.5.x。
图2-2 Spring Cloud发布版本与Spring Boot版本的兼容关系