很久沒有研究 Spring Cloud 了,也沒有關注它的更新及新特性,上官網看了下,又增長了幾個版本,有正式版有預覽版,多達 6 個版本,實在讓人蒙逼。spring
而咱們的項目版本還儀停留在 Dalston SR1 版本。bash
這麼多不一樣的版本,它們都有什麼區別,咱們開發微服務到底使用哪個版本呢?這些版本與 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
下圖揭示了主項目和子項目版本的依賴關係。教程
注意:Brixton 和 Angel 版本在2017年7月已經中止更新迭代了,咱們就不關注它的版本依賴關係了。開發
Spring Cloud 正處理高速發展期,版本發佈更新太快,項目更新版本還要考慮兼容性等各類問題,讓人很頭疼!後續我會慢慢揭開這些面紗。。
最後,在Java技術棧微信公衆號後臺回覆:cloud,可獲取棧長整理的一系列 Spring Cloud 教程,目前大量教程還在撰寫中……