继续昨天说的计划,解惑一下收到比较多的问题。
有朋友问“为什么在很多文章中,大家引用的Spring版本名字都不一样呢?比如:Angel.SR6
,Brixton.SR5
等等,它们都有什么区别呢?”,今天我们就聊聊这个轻松一些的话题,说说Spring Cloud版本的那些事儿。
版本命名
之前提到过,Spring Cloud是一个拥有诸多子项目的大型综合项目,原则上其子项目也都维护着自己的发布版本号。那么每一个Spring Cloud的版本都会包含不同的子项目版本,为了要管理每个版本的子项目清单,避免版本名与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。
这些版本名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,以此类推……
版本号
经过上面的解释,不难猜出,之前所提到的Angel.SR6
,Brixton.SR5
中的SR6、SR5就是版本号了。
当一个版本的Spring Cloud项目的发布内容积累到临界点或者一个严重bug解决可用后,就会发布一个“service releases”版本,简称SRX版本,其中X是一个递增数字。
当前版本
通过下表,我们可以快速查阅当前各版本所包含的子项目,以及各子项目的版本号,通过此来决定需要选择怎么样的版本。
Component | Angel.SR6 | Brixton.SR5 | Camden.M1 | Camden.BUILD-SNAPSHOT |
spring-cloud-aws | 1.0.4.RELEASE | 1.1.1.RELEASE | 1.1.1.RELEASE | 1.1.2.BUILD-SNAPSHOT |
spring-cloud-bus | 1.0.3.RELEASE | 1.1.1.RELEASE | 1.2.0.M1 | 1.2.0.BUILD-SNAPSHOT |
spring-cloud-cli | 1.0.6.RELEASE | 1.1.5.RELEASE | 1.2.0.M1 | 1.2.0.BUILD-SNAPSHOT |
spring-cloud-commons | 1.0.5.RELEASE | 1.1.1.RELEASE | 1.1.1.RELEASE | 1.1.2.BUILD-SNAPSHOT |
spring-cloud-contract | 1.0.0.M2 | 1.0.0.BUILD-SNAPSHOT | ||
spring-cloud-config | 1.0.4.RELEASE | 1.1.3.RELEASE | 1.2.0.M1 | 1.2.0.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.0.7.RELEASE | 1.1.5.RELEASE | 1.2.0.M1 | 1.2.0.BUILD-SNAPSHOT |
spring-cloud-security | 1.0.3.RELEASE | 1.1.2.RELEASE | 1.1.2.RELEASE | 1.1.3.BUILD-SNAPSHOT |
spring-cloud-starters | 1.0.6.RELEASE | |||
spring-cloud-cloudfoundry | 1.0.0.RELEASE | 1.0.0.RELEASE | 1.0.1.BUILD-SNAPSHOT | |
spring-cloud-cluster | 1.0.1.RELEASE | |||
spring-cloud-consul | 1.0.2.RELEASE | 1.1.0.M1 | 1.1.0.BUILD-SNAPSHOT | |
spring-cloud-sleuth | 1.0.6.RELEASE | 1.0.6.RELEASE | 1.0.7.BUILD-SNAPSHOT | |
spring-cloud-stream | 1.0.2.RELEASE | Brooklyn.M1 | Brooklyn.BUILD-SNAPSHOT | |
spring-cloud-zookeeper | 1.0.2.RELEASE | 1.0.2.RELEASE | 1.0.3.BUILD-SNAPSHOT | |
spring-boot | 1.2.8.RELEASE | 1.3.7.RELEASE | 1.4.0.RELEASE | 1.4.0.RELEASE |
spring-cloud-task | 1.0.2.RELEASE | 1.0.2.RELEASE | 1.0.3.BUILD-SNAPSHOT |
不难看出,最初的Angel版本相对来说拥有的子项目较少,Brixton、Camden则拥有更全的子项目,所以能提供更多的组件支持。而Brixton与Camden之间,Brixton的发布子项目更为稳定,Camden则更为前瞻。
我在开始编写Spring Cloud系列博文时,刚好是Brixton的第一个RELEASE版本,所以果断采用了这个版本来作为样例基础。也可以看到,在这短短的几个月时间里,没有更新多少文章,但是其版本提升尽如此迅速,更加证明了该项目良好的发展势头。所以,何不现在就加入我们一起学习和实践这个将来也许会占领企业微服务架构的强大框架呢?