好久没有研究 Spring Cloud 了,也没有关注它的更新及新特性,上官网看了下,又增加了几个版本,有正式版有预览版,多达 6 个版本,实在让人蒙逼。

而我们的项目版本还仪停留在 Dalston SR1 版本。

Spring Cloud 的多版本

这么多不同的版本,它们都有什么区别,我们开发微服务到底使用哪一个版本呢?这些版本与 Spring Boot 版本又是一个怎样的依赖关系?带着这些问题,我们必须把它一一搞清楚,不然总会让你很头疼。。

首先 Spring Cloud 是一个由很多子项目组成的庞大项目,Spring Cloud 的主要项目如下:

Spring Cloud Config
Spring Cloud Netflix
Spring Cloud Bus
Spring Cloud Cluster
Spring Cloud Security
... 更多请参考官方说明:
https://projects.spring.io/spring-cloud/

然而,这些子项目都有不同的发布阶段,为了管理主项目和子项目的依赖关系,以及为了避免和子项目版本的冲突和误解,主项目版本命名并没有采用和子项目数字版本化的形式,而是采用了英文名称。

英文命名方式也比较有意思,Spring Cloud 采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本。

由上可知,Spring Cloud 的第一个版本 "Angel" 就不觉得奇怪了,接着 "Brixton" 就是第二个版本。当一个项目到达发布临界点或者解决了一个严重的BUG后就会发布一个 "service Release" 版本, 简称 SR(X)版本,x 代表一个递增数字。

由此我们可以得出 "Finchley M9" 就是目前最新的开发版本,"Edgware SR3" 是最新稳定版本。

Spring Cloud 版本依赖关系

下图揭示了主项目和子项目版本的依赖关系。

Spring Cloud & Spring Boot 依赖关系

  • Finchley 是基于 Spring Boot 2.0.x 构建的,不支持 Spring Boot 1.5.x
  • Dalston 和 Edgware 是基于 Spring Boot 1.5.x 构建的,不支持 Spring Boot 2.0.x
  • Camden 构建于 Spring Boot 1.4.x,但依然能支持 Spring Boot 1.5.x

注意:Brixton 和 Angel 版本在2017年7月已经停止更新迭代了,我们就不关注它的版本依赖关系了。

Spring Cloud 正处理高速发展期,版本发布更新太快,项目更新版本还要考虑兼容性等各种问题,让人很头疼!后续我会慢慢揭开这些面纱。。

推荐:Spring Boot & Cloud 最强技术教程

Spring Cloud 多版本管理那些事。的更多相关文章

  1. 没使用Spring Cloud的版本管理导致Eureka服务无法注册到Eureka服务注册中心

    创建了一个Eureka Server的服务注册集群(两个Eureka服务),都能相互注册,写了一个Eureka客户端服务无法注册到服务发现注册中心 注册中心1: 注册中心2: 服务正常: pom依赖文 ...

  2. Spring Cloud Alibaba环境搭建

    前言:Spring Cloud Alibaba是目前主流的分布式微服务架构,本文主要讲解了在IDEA中如何搭建Spring Cloud Alibaba环境,以及介绍Spring Cloud Aliba ...

  3. Spring Cloud 微服务的那点事

    什么是微服务 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”. 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调 ...

  4. Spring Cloud都做了哪些事

    Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用 ...

  5. 这事没完,继续聊spring cloud stream和kafka的这些小事

    上一篇文章讲了如何用spring cloud stream集成kafka,并且跑起来一个demo,如果这一次宣传spring cloud stream的文章,其实到这里就可以啦.但实际上,工程永远不是 ...

  6. 简单聊一聊spring cloud stream和kafka的那点事

    Spring Cloud Stream is a framework for building highly scalable event-driven microservices connected ...

  7. 写给大忙人的spring cloud 1.x学习指南

    这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三 ...

  8. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  9. Spring Cloud 2020.0.0正式发布,再见了Netflix

    目录 ✍前言 版本约定 ✍正文 Spring Cloud版本管理 与Spring Boot版本对应关系 当前支持的版本 阻断式升级(不向下兼容) 1.再见了,Netflix Netflix组件替代方案 ...

随机推荐

  1. SharePoint 用户控件编写的简单介绍

    我们开发中,通常需要写各种各样的部件来实现我们的展示或者功能,下面就介绍下刚刚接触的QuickPart+用户控件的方式,算是自己的学习笔记,也和大家交流下心得. 1. 新建Web应用程序 2. 在项目 ...

  2. WebApplicationContext初始化

    Spring 提供了用于启动WebApplicaionContext的Web容器监听器. 通过Web容器监听器引导: <!-- 1 指定配置文件 --> <context-param ...

  3. javascript类和原型学习笔记

    js中类的所有实例对象都从同一个原型对象上继承属性.我们可以自己写一个对象创建的工厂方法来来"模拟"这种继承行为: //inherit()返回一个继承自原型对象p的属性的性对象 / ...

  4. Supervisor安装、配置、开启启动

    1.安装Python包管理工具(easy_install) wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - ...

  5. jquery性能优化的38个建议

    一.注意定义jQuery变量的时候添加var关键字 这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下: $loading = $('#loading'); ...

  6. 交换机设置IP

    二成交换机所有端口在默认情况下都是属于vlan1的 代表整个交换机 你只需要设置vlan1的ip地址就行了 进入交换机配置界面后 命令如下:enableconfigure terminalinterf ...

  7. Git分支创建与合并

    分支管理是Git支持多人协作和版本控制的关键,参照廖雪峰对Git的介绍,对真实开发环境中Git的使用结合实践进行梳理. 摘自:廖雪峰的官方网站 在实际开发中,我们应该按照几个基本原则进行分支管理: 首 ...

  8. View requires API level 14 (current min is 8): <GridLayout>

    在学习android的过程中,出现这个错误的是否,可以build clean解决

  9. CentOs 6 或 7 yum安装JDK1.8 (内含报 PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.163.com'"错误解决方案)并分析为什么不能yum安装

    查看JDK的安装路径 # java -version============================查看Linux系统版本信息# cat /etc/redhat-releaseCentOS r ...

  10. Dubbo配置引发的一个问题--- Duplicate spring bean id

    1.原因 因项目业务需要,要调用RPC框架,项目原本已经依赖了很多RPC接口需要启动时加载,所以准备做成启动时不预加载. 就是在配置的时候加上check=false. 官方文档解释的作用,就是Dubb ...