Spring Cloud 多版本管理那些事。


好久沒有研究 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 最強技術教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM