主流微服務技術棧Spring Cloud Alibaba

目錄:

一、國內主流微服務技術棧

二、Spring Cloud Alibaba介紹

三、總結

一、國內主流微服務技術棧

之前有段時間阿里開源的dubbo處於不怎麼維護的階段,正好這段時間Spring cloud完善的技術棧出現,導致很多中小型公司開始轉型到Spring cloud。Dubbo的使用比例急劇下降。所以現階段國內微服務這塊,按公司實力劃分:

大公司,以純自研或者dubbo+自研爲主

中小公司,以Spring cloud netflix技術棧爲主,(趕緊搭建起來做業務,哪有空搞研發)

但是最近一年多,情況又產生了變化,阿里的dubbo重啓維護,日漸活躍起來,同時阿里把自己的微服務技術棧融入進了spring cloud體系和標準,形成了一個spring cloud alibaba微服務技術組件,也就是以nacos、dubbo、seata、sentinal、rocketmq等技術爲核心的一套技術體系

spring cloud alibaba 與 spring cloud netflix對比

註冊中心:nacos -> eureka

RPC框架:dubbo -> feign+ribbon

分佈式事務:seata -> 無

限流/熔斷/降級:sentinel -> hystrix

API網關:無(Spring Cloud Gateway) -> zuul

後來大家也都知道,spring cloud netflix微服務技術組件,開始更新的非常不活躍,netflix公司公開宣佈他之前開源的一些微服務組件未來就不會怎麼更新了,這就導致spring cloud netflix微服務技術組件的未來是不是有點不太光明,而spring cloud alibaba微服務技術組件,活躍的更新,社區也重啓,做得很好,宣講,演講,採訪,開始比較活躍起來,這必將是未來微服務的主流技術棧。

目前很多公司也開始嘗試用spring cloud alibaba的技術組件,再加上一些其他的開源組件,比如Prometheus,ELK,Spring Cloud Gateway,等等,可以組成一套全新的以國內開源技術爲核心的微服務體系。

基於以上情況,作爲技術人員,有必要及時跟進學習一下Spring Cloud Alibaba技術棧了。

二、Spring Cloud Alibaba介紹

Spring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此項目包含開發分佈式應用微服務的 必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分佈式應用服務。依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里微服 務解決方案,通過阿里中間件來迅速搭建分佈式應用系統。

1、主要功能

服務限流降級:默認支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring CloudGateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入,可以在運行時通過控制檯 實時修改限流降級規則,還支持查看限流降級 Metrics 監控。

服務註冊與發現:適配 Spring Cloud 服務註冊與發現標準,默認集成了 Ribbon 的支持。分佈式配置管理:支持分佈式系統中的外部化配置,配置更改時自動刷新。

消息驅動能力:基於 Spring Cloud Stream 爲微服務應用構建消息驅動能力。

分佈式事務:使用 @GlobalTransactional 註解, 高效並且對業務零侵入地解決分佈式事務問題。

阿里雲對象存儲:阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。支持在任何應用、任 何時間、任何地點存儲和訪問任意類型的數據。

分佈式任務調度:提供秒級、精準、高可靠、高可用的定時(基於 Cron 表達式)任務調度服務。同時提供分佈式的任務執行模型,如網格任務。網格任務支持海量子任務均勻分配到所有 Worker(schedulerx-client)上執行。

阿里雲短信服務:覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建 客戶觸達通道。

2、組件

Sentinel:把流量作爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩 定性。

Nacos:一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。

RocketMQ:一款開源的分佈式消息系統,基於高可用分佈式集羣技術,提供低延時的、高可靠 的消息發佈與訂閱服務。

Dubbo:Apache DubboTM 是一款高性能 Java RPC 框架。Seata:阿里巴巴開源產品,一個易於使用的高性能微服務分佈式事務解決方案。

Alibaba Cloud ACM:一款在分佈式架構環境中對應用配置進行集中管理和推送的應用配置中心 產品。

Alibaba Cloud OSS: 阿里雲對象存儲服務(Object Storage Service,簡稱 OSS),是阿里雲提 供的海量、安全、低成本、高可靠的雲存儲服務。您可以在任何應用、任何時間、任何地點存儲和 訪問任意類型的數據。

Alibaba Cloud SchedulerX: 阿里中間件團隊開發的一款分佈式任務調度產品,提供秒級、精 準、高可靠、高可用的定時(基於 Cron 表達式)任務調度服務。

Alibaba Cloud SMS: 覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速 搭建客戶觸達通道。

三、總結:

netflix很多組件維護的都不夠活躍了,所以衰退是必然的,pass

Spring cloud 阿里巴巴是國內的開源項目,都是中文文檔,中文社區,交流方便,社區也很活躍,所以這套技術棧必將是面向未來的一套技術體系。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章