文章目錄
- (一)Spring Cloud基本介紹
- (二)Spring Cloud版本介紹
- (三)Spring Cloud規范下的實作Spring Cloud Netflix
- (四)Spring Cloud規范下的實作Spring Cloud Alibaba
- (1)技術框架
- (2)優勢分析
- (3)Spring Cloud Alibaba的版本
(一)Spring Cloud基本介紹
Spring Cloud是Pivotal公司在2015年發布的一個專案,很多人可能不知道Pivotal公司,Spring就是Pivotal公司研發的,
業內比較主流的微服務解決方案主要包括:
Spring Cloud Netflix
Spring Cloud Alibaba
簡單來說,Spring Cloud提供了一些可以讓開發者快速構建微服務應用的工具,比如配置管理服務發現、熔斷、智能路由等,這些服務可以在任何分布式環境下很好地作業,Spring Cloud主要致力于解決如下問題:
Distributed/versioned configuration 分布式及版化配置
Service registration and discovery 服務注冊與發現
Routing 服務路由
Service-to-service calls 服務呼叫
Load balancing 負載均衡
Circuit Breakers 斷路器
Global locks 全域鎖
Leadership election and cluster state Leader選舉及集群狀態
Distributed messageing 分布式訊息
需要注意的是,Spring Cloud并不是Spring團隊全新研發的框架,它只是把一些比較優秀的解決微服務架構中常見問題的開源框架基于Spring Cloud規范進行了整合,通過Spring Boot這個框架進行再次封裝后屏蔽掉了復雜的配置,給開發者提供良好的開箱即用的微服務開發體驗,不難看出,Spring Cloud其實就是一套規范,而Spring Cloud Netflix、 Spring Cloud Consul、Spring Cloud Alibaba才是Spring Cloud規范的實作
(二)Spring Cloud版本介紹
Spring Cloud是一套整合了各大公司開源技術的規范,而這些開源技術的版本發布是由各個公司來維護的,每個子專案都維護了自己的發布版本號,所以它不像傳統意義上的版本命名,而是采用了倫敦地鐵站的名字根據字母表的順序結合對應版本的時間順序來定義一個大版本,Spring Cloud以往的版本發布順序排列如下:

Spring Cloud的每一個大版本通過BOM ( Bill of Materials )來管理每個子專案的版本清單,下圖所示是Spring Cloud官網提供的各個子專案的版本清單,表頭(Edgware.SR6、Greenwich.SR2)表示Spring Cloud的大版本號,表格中的內容是當前大版本號對應所有子專案的版本號,簡單來說,如果我們引入Spring Cloud的版本是Edgware.SR6,那么依賴的Spring-Cloud-Aws的版本號為1.2.4.RELEASE,Spring-Cloud-Bus的版本號為1.3.4.RELEASE,細心的讀者會發現Spring Cloud大版本號后面多了一個SR6/.SR2,Spring Cloud專案的發布內容積累到一個臨界點或者解決一些嚴重的Bug后,會發布一個Service Release的版本,簡稱SRX,其中X是一個遞增的數字,

值得注意的是,Spring Cloud中所有子專案都依賴Spring Boot框架,所以Spring Boot框架的版本號和Spring Cloud的版本號之間也存在依賴及兼容的關系,如圖2-2所示,是Spring Cloud官方提供的版本依賴關系,Edgware和Dalston這兩個版本可以構建在Spring Boot 1.5.x版本上,但是不能兼容Spring Boot 2.0.x,并且,從Finchley版本開始,Spring Boot版本必須在2.0.x之上,不支持Spring Boot 1.5.X

(三)Spring Cloud規范下的實作Spring Cloud Netflix
Spring Cloud生態下服務治理的解決方案主要有兩個:Spring Cloud Netflix和Spring Cloud Alibaba,這兩個解決方案分別是針對Netflix OSS及Alibaba的服務治理體系基于Spring Cloud規范做的整合,本書中主要基于Spring Cloud Alibaba生態進行詳細的講解,
Spring Cloud Netflix主要為微服務架構下的服務治理提供解決方案,包括以下組件:

說明:以下組件Netflix宣布進入維護模式,不在進行大的功能升級

(四)Spring Cloud規范下的實作Spring Cloud Alibaba
(1)技術框架
Spring Cloud Alibaba是阿里巴巴集團下的開源組件和云產品在Spring Cloud規范下的實作,2018年10月31日,Spring Cloud Alibaba正式入駐Spring Cloud官方范訓器,并發布了第一個預覽版本,
Spring Cloud Alibaba主要為微服務開發提供一站式的解決方案,使開發者通過Spring Cloud編程模型輕松地解決微服務架構下的各類技術問題,以下是Spring Cloud Alibaba生態下的主要功能組件,這些組件包含開源組件和阿里云產品組件,云產品是需要付費使用的,

(2)優勢分析
1、Alibaba的開源組件在沒有織入Spring Cloud生態之前,已經在各大公司廣泛應用,所以集成到Spring Cloud生態使得開發者能夠很輕松地實作技術整合及遷移
2、Alibaba的開源組件在服務治理上和處理高并發的能力上有天然的優勢,畢竟這些組件都經歷過數次雙11的考驗,也在各大互聯網公司大規模應用過,所以,相比Spring Cloud Netflix來說,Spring CloudAlibaba在服務治理這塊的能力更適合于國內的技術場景,同時,Spring Cloud Alibaba在功能上不僅完全覆寫了Spring Cloud Netflix原生特性,而且還提供了更加穩定和成熟的實作,很看好SpringCloud Alibaba未來的發展,
(3)Spring Cloud Alibaba的版本
Spring Cloud Alibaba在2018年10月31號發布了第一個預覽版本,0.2.0.RELEASE和0.1.0.RELEASE,其中0.1.0.RELEASE與Spring Boot 1.5.x兼容,0.2.0.RELEASE與Spring Boot 2.0.x兼容,由于Spring Cloud是基
于Spring Boot框架來集成的,而Spring Boot 1和Spring Boot 2在一些配置類和注解等方面存在很大的變更,所以在一段時間內如果做升級,還是會考慮兼容老的版本,
目前Spring Cloud Alibaba發布了兩個畢業版本,最新的版本對應各個子專案的版本關系如圖所示,


轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/259204.html
標籤:其他
上一篇:Docker的安裝
