Spring Cloud Alibaba系列教程——Spring Cloud Alibaba開篇

隨着Spring Cloud Alibaba的發展,Spring Cloud Alibaba的相關組件逐漸的成熟,對於它的學習和研究已經是java開發人員的趨勢。這篇博文主要內容是介紹什麼是Spring Cloud Alibaba,Spring Cloud 與Spring Cloud Alibaba的關係,以及我們爲什麼要學習它,以及暢想Spring Cloud Alibaba未來發展。

在介紹Spring Cloud Alibaba之前,我們先簡單的說一下Spring Cloud。

先說說Spring Cloud

提起微服務,不得不提 Spring Cloud全家桶系列,SpringCloud 是一系列框架的有序集合。Spring Cloud 通過 Spring Boot 風格的封裝,屏蔽掉了複雜的配置和實現原理,簡化了分佈式系統集成設施的開發。Spring Cloud提供了服務治理、服務網關、智能路由、負載均衡、斷路器、監控跟蹤、分佈式消息隊列、配置管理等領域的解決方案。

一般來說,Spring Cloud 包含以下組件,主要以 Netflix 開源爲主:

在這裏插入圖片描述

Spring Cloud Alibaba 是什麼

官網介紹:

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

簡單一句話總結: 在Spring Cloud Alibaba的基礎上,使用阿里開源的中間件來搭建分佈式應用系統。

爲什麼要學習Spring Cloud Alibaba

同 Spring Cloud 一樣,Spring Cloud Alibaba 也是一套微服務解決方案,包含開發分佈式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分佈式應用服務。

依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分佈式應用系統。

作爲 Spring Cloud 體系下的新實現,Spring Cloud Alibaba 跟官方的組件或其它的第三方實現如 Netflix, Consul,Zookeeper 等對比,具備了更多的功能:

Spring Cloud Alibaba的主要功能

  • 服務限流降級:默認支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入,可以在運行時通過控制檯實時修改限流降級規則,還支持查看限流降級 Metrics 監控。
  • 服務註冊與發現:適配 Spring Cloud 服務註冊與發現標準,默認集成了 Ribbon 的支持。
  • 分佈式配置管理:支持分佈式系統中的外部化配置,配置更改時自動刷新。
  • 消息驅動能力:基於 Spring Cloud Stream 爲微服務應用構建消息驅動能力。
  • 分佈式事務:使用 @GlobalTransactional 註解, 高效並且對業務零侵入地解決分佈式事務問題。。
  • 阿里雲對象存儲:阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。支持在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
  • 分佈式任務調度:提供秒級、精準、高可靠、高可用的定時(基於 Cron 表達式)任務調度服務。同時提供分佈式的任務執行模型,如網格任務。網格任務支持海量子任務均勻分配到所有 Worker(schedulerx-client)上執行。
  • 阿里雲短信服務:覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。

Spring Cloud Alibaba 已包含組件

這幅圖是 Spring Cloud Alibaba 系列組件,其中包含了阿里開源組件,阿里雲商業化組件,以及集成Spring Cloud 組件。

在這裏插入圖片描述

阿里開源組件

Nacos

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

Sentinel

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

RocketMQ

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

Dubbo

這個就不用多說了,在國內應用非常廣泛的一款高性能 Java RPC 框架。

Seata

阿里巴巴開源產品,一個易於使用的高性能微服務分佈式事務解決方案。

Arthas

開源的Java動態追蹤工具,基於字節碼增強技術,功能非常強大。

阿里商業化組件

作爲一家商業公司,阿里巴巴推出 Spring Cloud Alibaba,很大程度上是希望通過搶佔開發者生態,來幫助推廣自家的雲產品。大家可以細品。O(∩_∩)O哈哈~

Alibaba Cloud ACM

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

Alibaba Cloud OSS

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

Alibaba Cloud SchedulerX

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

Alibaba Cloud SMS

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

集成 Spring Cloud 組件

Spring Cloud Alibaba 作爲整套的微服務解決組件,只依靠目前阿里的開源組件是不夠的,更多的是集成當前的社區組件,所以 Spring Cloud Alibaba 可以集成 Zuul,OpenFeign等網關,也支持 Spring Cloud Stream 消息組件。

Spring Cloud Alibaba和Spring Cloud 的關係

SpringCloud Alibaba是SpringCloud的子項目,SpringCloud Alibaba符合SpringCloud標準。

SpringCloud與SpringCloud Alibaba的關係,如下圖:
在這裏插入圖片描述
一句話總結:Spring Cloud Alibaba是符合Spring Cloud標準的,一套完整的分佈式解決方案。

爲什麼我看好 Spring Cloud Alibaba

Spring Cloud Alibaba 雖然誕生時間不久,但是背靠大樹好乘涼,賴於阿里巴巴強大的技術影響力,已經成爲微服務解決方案的重要選擇之一。

我看好Spring Cloud Alibaba的原因,如下:

Spring Cloud衆多組件停更,升級

Spring Cloud全家桶系列中衆多組件,已經停止更新,例如Eureka,zuul等。並且相關的組件不再主動修改bug,不再發布新版本。對於線上依賴Spring Cloud組件的衆多公司不得不,尋找更好的解決方案。

Spring Cloud第一代的停更列表,如下圖:
在這裏插入圖片描述

Spring Cloud Alibaba集成Spring Cloud組件

Spring Cloud Alibaba不僅僅整合了當前社區的開源組件,而且在Spring Cloud的基礎上,對Spring Cloud的集成已經非常的成熟,能夠滿足我們對分佈式系統開發對公共組件所有的解決方案。

阿里巴巴強大的技能能力和極力推動社區發展

阿里巴巴是國內開源技術領域的最有影響力的公司之一,已經有非常多成功的開源組件,例如:Dubbo、Druid,FastJson,RocketMQ等,再加上阿里不遺餘力的推廣,社區發展也非常快。衆多開源組件都經歷過雙十一大促的線上考驗,能夠滿足高併發,高性能,高可擴展的需求。

博主會不間斷的持續更新這個系列的文章,請大家期待。

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