在Nacos 1.0.0 Release之後,Spring Cloud Alibaba也終於釋出了最新的版本。該版本距離上一次釋出,過去了整整4個月!下面就隨我一起看看,這個大家期待已久的版本都有哪些內容值得我們關注。
版本變化
之前在《Spring Cloud Alibaba與Spring Boot、Spring Cloud之間不得不說的版本關係》一文中,我有提到過當前版本的Spring Cloud Alibaba還處於孵化器中,沒有納入Spring Cloud的主線版本。所以,我們在使用的時候需要明確Spring Boot、Spring Cloud主版本以及Spring Cloud Alibaba之間的版本關係。
這次的更新,在版本上與我之前文章中說的0.2.2來支援Greenwich有所區別。這裡糾正一下,對於Greenwich版本的支援採用了0.9.x的版本號來對應,所以Spring Boot
、Spring Cloud、Spring Cloud Alibaba三者之間的準確關係如下表所示:
Spring Boot | Spring Cloud | Spring Cloud Alibaba |
---|---|---|
2.1.x | Greenwich | 0.9.x |
2.0.x | Finchley | 0.2.x |
1.5.x | Edgware | 0.1.x |
1.5.x | Dalston | 0.1.x |
模組新增
這次新版本中,最值得關注的應該就是下面這幾個新模組的加入了。之前我說過非常看好Spring Cloud Alibaba,下面新增的幾個模組就是主要原因之一。
spring-cloud-alibaba-dubbo
對於Dubbo的支援,我覺得對於國內使用者來說,是非常有意義的。由於Dubbo在過去一段時間對國內行業的滲透非常廣,至今依然有很多團隊在使用著這個老牌RPC。但是,由於Dubbo只是一個單純的RPC框架,它不像Spring Cloud這樣,擁有不錯的生態,在外圍設施的對接支援上做了非常多的努力,使得我們在使用Spring Cloud的時候,可以很快的體系化我們的基礎設施。
現在,Spring Cloud Alibaba將Dubbo融入Spring Cloud體系,可以讓其一起享受Spring Cloud生態的各種便利。對於原來的Dubbo使用者來說,該模組的加入為原Dubbo使用者擁抱Spring Cloud生態提供了非常好的支援,可以大大減少使用者自己融入需要做的擴充套件工作量。
為什麼說這個模組好呢?看看下面幾個與Spring Cloud生態融合的重要功能:
- 支援所有Spring Cloud的註冊中心實現,包括Spring Cloud Alibaba中整合的Nacos。也就是說,以前我們自己在整合Spring Cloud和Dubbo來使用的時候,如果不去為Dubbo擴充套件註冊中心,那麼就不得不採用Eureka + Zookeeper同時存在的複雜架構。現在,在這個模組的幫助下,註冊中心就可以得到統一。
- 支援RestTemplate,開發者只需要在定義RestTemplate的
@Bean
註解上搭配使用@DubboTransported
註解,就能將這個客戶端直接支援Dubbo呼叫。 - 支援Feign,開發者只需要在
@FeignClient
註解上搭配使用@DubboTransported
,就能將Feign客戶端變成Dubbo的客戶端。這樣的設計,對於傳統Spring Cloud使用者來說,是不是也非常容易接受呢?
如果您的團隊還在堅持使用Dubbo,又很想引入Spring Cloud,那麼不妨移步來嘗試一下Spring Cloud Alibaba的最新版本吧!
注意:該模組沒有釋出到0.1.2中,所以只有0.2.2和0.9.0中才擁有。也就是說,僅支援Spring Boot 2.x和Spring Cloud Finchley版和Greenwich版。
spring-cloud-alibaba-seata
Seata是Alibaba與螞蟻金融共建的一個開源分散式事務解決方案。通過該模組的加入,可以非常方便的在Spring MVC、RestTemplate、FeignClient的呼叫中傳遞事務上下文,同時也支援與Hystrix、Sentinel的聯合使用。全方面的打通Spring Cloud生態的分散式事務場景。
這個框架我還沒有深入的研究過,後續我也會將這部分內容的學習寫到《Spring Cloud Alibaba基礎教程》中與大家分享心得與經驗。如果對這個感興趣的,記得關注我喲。
spring-cloud-alibaba-sentinel-zuul
在該模組中定義了一些為Zuul定製的過濾器:SentinelPreFilter
、SentinelPostFilter
、SentinelErrorFilter
。通過它們來為Zuul實現閘道器層的請求流量控制。使用者可以通過spring.cloud.sentinel.zuul.
引數來配置這些Sentinel過濾器。
spring-cloud-alibaba-sms
SMS是阿里雲的商業化產品。所以該模組類之前的SchedulerX模組,OSS模組類似,主要為了更方便的整合使用而存在。如果是Spring Cloud使用者,同時也是阿里雲這些產品的使用者,那麼直接使用還是非常方便的。但是如果這兩個條件都不滿足,那麼可以忽略之。
模組升級
在該版本中對於一些重要的基礎設施模組也做了大幅度的版本升級,包括:
- Nacos:從0.6.2升級到1.0.0
- Sentinel:從1.4.0升級到1.5.2
對於模組功能升級主要與模組整合物件的自身版本有關,所以對於這部分的內容讀者可以查閱Nacos 1.0.0的文件以及Sentinel 1.5.2的文件來進一步新增功能。
而對於Spring Cloud Alibaba對其整合新增的配置或註解使用,可以見本文參考資料連結看看更新了什麼內容,這裡就不做具體介紹了。
最後歡迎留言參與討論,說說您對Spring Cloud Alibaba新版本的看法吧!