- 推荐序一
- 推荐序二
- 推荐序三
- 推荐语
- 前言
- 第1章 基础知识
- 第2章 微服务构建:Spring Boot
- 第3章 服务治理:Spring Cloud Eureka
- 第4章 客户端负载均衡:Spring Cloud Ribbon
- 第5章 服务容错保护:Spring Cloud Hystrix
- 第6章 声明式服务调用:Spring Cloud Feign
- 第7章 API网关服务:Spring Cloud Zuul
- 第8章 分布式配置中心:Spring Cloud Config
- 第9章 消息总线:Spring Cloud Bus
- 第10章 消息驱动的微服务:Spring Cloud Stream
- 附录 A Starter POMs
- 后记
版本说明
当我们通过搜索引擎查找一些Spring Cloud的文章或示例时,往往可以在依赖中看到很多不同的版本名字,比如Angel.SR6、Brixton.SR5等,为什么Spring Cloud没有像其他Spring的项目使用类似1.x.x的版本命名规则呢?这些版本之间又有什么区别呢?在学习之初,非常有必要弄清楚这些版本的意义和内容,这样才能在我们使用Spring Cloud时,指导我们选择更为合适的版本进行架构与开发。
版本名与版本号
由于Spring Cloud不像Spring社区其他一些项目那样相对独立,它是一个拥有诸多子项目的大型综合项目,可以说是对微服务架构解决方案的综合套件组合,其包含的各个子项目也都独立进行着内容更新与迭代,各自都维护着自己的发布版本号。因此每一个Spring Cloud 的版本都会包含多个不同版本的子项目,为了管理每个版本的子项目清单,避免Spring Cloud的版本号与其子项目的版本号相混淆,没有采用版本号的方式,而是通过命名的方式。
这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,比如最早的Release版本为Angel,第二个Release版本为Brixton……
经过上面的解释,不难猜出,之前所提到的 Angel.SR6、Brixton.SR5中的 SR6、SR5就是版本号了。
当一个版本的Spring Cloud项目的发布内容积累到临界点或者一个严重bug解决可用后,就会发布一个“service releases”版本,简称SRX版本,其中X是一个递增的数字,所以Brixton.SR5就是Brixton的第5个Release版本。
版本区别
下面列出的是开始编写此书时各版本的版本构成表,我们可以快速查阅当前各版本所包含的子项目,以及各子项目的版本号,以此来决定需要选择哪个版本。
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版本包含了大部分的Spring Cloud子项目,并且均为Release版本,所以本文所有示例以及讲解内容的编写均采用Brixton.SR5版本,基于Spring Boot 1.3.7版本。
注意:在本书完成时,Brixton版本已经升级到SR7,本书中的示例均可直接使用Brixton.SR7来完成,但是在使用Brixton版本的时候需要注意Spring Boot的版本,必须使用1.3.x版本,而不能使用1.4.x版本,否则会出现各种问题。若一定要使用Spring 1.4.x版本的话,必须将Spring Cloud版本升级到Camden版本,目前Camden 已经发布 Release版本,所以可以放心使用,最新版本为Camden.SR3。另外,Camden版本虽然可以兼容Brixton版本中的各种实现方法,但是在升级后读者会发现有一些方法已经被标注为过期,对于这些过期的使用方法,笔者后续会在博客中逐个编写博文来说明这些更新内容。所以,有兴趣的读者可以关注我的博客(http://blog.didispace.com),来持续获取Spring Cloud的一些最新动态。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论