Spring Cloud 多版本管理那些事。

很久沒有研究 Spring Cloud 了,也沒有關注它的更新及新特性,上官網看了下,又增長了幾個版本,有正式版有預覽版,多達 6 個版本,實在讓人蒙逼。spring

而咱們的項目版本還儀停留在 Dalston SR1 版本。bash

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/
複製代碼

然而,這些子項目都有不一樣的發佈階段,爲了管理主項目和子項目的依賴關係,以及爲了不和子項目版本的衝突和誤解,主項目版本命名並無採用和子項目數字版本化的形式,而是採用了英文名稱。spa

英文命名方式也比較有意思,Spring Cloud 採用了英國倫敦地鐵站的名稱來命名,並由地鐵站名稱字母A-Z依次類推的形式來發布迭代版本。code

由上可知,Spring Cloud 的第一個版本 "Angel" 就不以爲奇怪了,接着 "Brixton" 就是第二個版本。當一個項目到達發佈臨界點或者解決了一個嚴重的BUG後就會發佈一個 "service Release" 版本, 簡稱 SR(X)版本,x 表明一個遞增數字。cdn

由此咱們能夠得出 "Finchley M9" 就是目前最新的開發版本,"Edgware SR3" 是最新穩定版本。blog

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 正處理高速發展期,版本發佈更新太快,項目更新版本還要考慮兼容性等各類問題,讓人很頭疼!後續我會慢慢揭開這些面紗。。

最後,在Java技術棧微信公衆號後臺回覆:cloud,可獲取棧長整理的一系列 Spring Cloud 教程,目前大量教程還在撰寫中……

  • Spring Cloud 配置中心高可用搭建
  • Spring Cloud 多版本如何選擇
  • Spring Cloud 是什麼,和 Dubbo 對比
  • Spring Cloud 註冊中心高可用搭建
  • Spring Cloud Eureka 自我保護機制
  • ……

相關文章
相關標籤/搜索