目錄
- 第一章 Spring Cloud Alibaba的介紹
- 1.1、什么是Spring Cloud Alibaba
- 1.2、為啥學Spring Cloud Alibaba
- 第二章 Spring Cloud Alibaba的功能
- 第三章 Spring Cloud Alibaba的組件
- 第四章 Spring Cloud Alibaba的版本
- 第五章 Spring Cloud Alibaba的示例
- 第六章 Spring Cloud Alibaba的依賴
配套資料,免費下載
鏈接:https://pan.baidu.com/s/1-eRFozbFIShqbqNRFD9KDw
提取碼:rt3w
復制這段內容后打開百度網盤手機App,操作更方便哦
第一章 Spring Cloud Alibaba的介紹
1.1、什么是Spring Cloud Alibaba
Spring Cloud Alibaba是Spring Cloud下的一個子專案,Spring Cloud Alibaba為分布式應用程式開發提供了一站式解決方案,它包含開發分布式應用程式所需的所有組件,使您可以輕松地使用Spring Cloud開發應用程式,使用Spring Cloud Alibaba,您只需要添加一些注解和少量配置即可將Spring Cloud應用程式連接到Alibaba的分布式解決方案,并使用Alibaba中間件構建分布式應用程式系統,Spring Cloud Alibaba是阿里巴巴開源中間件跟Spring Cloud體系的融合,
原始碼地址:https://github.com/alibaba/spring-cloud-alibaba
1.2、為啥學Spring Cloud Alibaba
我們之前已經學習過了第一代Spring Cloud Netflix微服務技術,但是,這里為什么又要學習Spring Cloud Alibaba呢?
這其中最主要的原因就是第一代的很多組件都已經停止更新了,進入到了維護模式,這就意味著這些組件不會再開發新的版本 ,只會維護以前版本的BUG,
原始碼地址:https://github.com/spring-cloud/spring-cloud-netflix
以下Spring Cloud Netflix模塊和相應的啟動程式將進入維護模式:
- spring-cloud-netflix-archaius
- spring-cloud-netflix-concurrency-limits
- spring-cloud-netflix-hystrix-contract
- spring-cloud-netflix-hystrix-dashboard
- spring-cloud-netflix-hystrix-stream
- spring-cloud-netflix-hystrix
- spring-cloud-netflix-ribbon
- spring-cloud-netflix-turbine-stream
- spring-cloud-netflix-turbine
- spring-cloud-netflix-zuul
注意:這不包括Eureka模塊,Eureka 1.x仍然是一個活躍的專案,但是,Eureka 2.0的現有開源作業已停止,
第二章 Spring Cloud Alibaba的功能
-
服務限流降級:默認支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入,可以在運行時通過控制臺實時修改限流降級規則,還支持查看限流降級 Metrics 監控,
-
服務注冊與發現:適配 Spring Cloud 服務注冊與發現標準,默認集成了 Ribbon 的支持,
-
分布式配置管理:支持分布式系統中的外部化配置,配置更改時自動重繪,
-
訊息驅動能力:基于 Spring Cloud Stream 為微服務應用構建訊息驅動能力,
-
RPC服務:擴展Spring Cloud客戶端RestTemplate和OpenFeign以支持呼叫Dubbo RPC服務,
-
分布式事務:使用 @GlobalTransactional 注解, 高效并且對業務零侵入地解決分布式事務問題,
-
阿里云物件存盤:阿里云提供的海量、安全、低成本、高可靠的云存盤服務,支持在任何應用、任何時間、任何地點存盤和訪問任意型別的資料,
-
分布式任務調度:提供秒級、精準、高可靠、高可用的定時(基于 Cron 運算式)任務調度服務,同時提供分布式的任務執行模型,如網格任務,網格任務支持海量子任務均勻分配到所有 Worker(schedulerx-client)上執行,
-
阿里云短信服務:覆寫全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道,
第三章 Spring Cloud Alibaba的組件
-
Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性,
-
Nacos:一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺,
-
RocketMQ:一款開源的分布式訊息系統,基于高可用分布式集群技術,提供低延時的、高可靠的訊息發布與訂閱服務,
-
Dubbo:Apache Dubbo? 是一款高性能 Java RPC 框架,
-
Seata:阿里巴巴開源產品,一個易于使用的高性能微服務分布式事務解決方案,
-
Alibaba Cloud OSS: 阿里云物件存盤服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存盤服務,您可以在任何應用、任何時間、任何地點存盤和訪問任意型別的資料,
-
Alibaba Cloud SchedulerX: 阿里中間件團隊開發的一款分布式任務調度產品,提供秒級、精準、高可靠、高可用的定時(基于 Cron 運算式)任務調度服務,
-
Alibaba Cloud SMS: 覆寫全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道,
實際上,官方檔案并沒有完全列出所有組件,我在這里給大家列出所有組件,以及組件之間的分類關系,

第四章 Spring Cloud Alibaba的版本
專案的版本號格式為 x.x.x 的形式,其中 x 的數值型別為數字,從 0 開始取值,且不限于 0~9 這個范圍,專案處于范訓器階段時,第一位版本號固定使用 0,即版本號為 0.x.x 的格式,
由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模塊的介面和注解有很大的變更,且 spring-cloud-commons 從 1.x.x 版本升級到 2.0.0 版本也有較大的變更,因此我們采取跟 SpringBoot 版本號一致的版本:
- 1.5.x 版本適用于 Spring Boot 1.5.x
- 2.0.x 版本適用于 Spring Boot 2.0.x
- 2.1.x 版本適用于 Spring Boot 2.1.x
- 2.2.x 版本適用于 Spring Boot 2.2.x
官方檔案:https://spring.io/projects/spring-cloud-alibaba

雖然官網顯示最新版本是2.2.1.RELEASE,實際上,已經更新到了2.2.5.RELEASE,我們就學習最新的版本,
發布詳情:https://github.com/alibaba/spring-cloud-alibaba/releases/tag/2.2.5.RELEASE
官方檔案:https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/zh-cn/index.html
第五章 Spring Cloud Alibaba的示例
為了演示如何使用,Spring Cloud Alibaba專案包含了一個子模塊spring-cloud-alibaba-examples,此模塊中提供了演示用的 Example ,您可以閱讀對應的 Example 工程下的readme 檔案,根據里面的步驟來體驗,Example 串列:
- Sentinel Example
- Nacos Config Example
- Nacos Discovery Example
- RocketMQ Example
- Seata Example
- Alibaba Cloud OSS Example
- Alibaba Cloud SMS Example
- Alibaba Cloud SchedulerX Example
第六章 Spring Cloud Alibaba的依賴
如果您是使用的Maven進行版本依賴管理,最簡單的做法就是在父工程中,添加如下依賴,來統一管理子專案中各個組件的版本,
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
那么,問題來了,Spring Cloud Alibaba我既然選擇了2.2.5.RELEASE,那相對應的Spring Boot和Spring Cloud的版本應該是多少呢?
正常情況下,我們可以通過官方的地址進行版本查看,例如:https://start.spring.io/actuator/info

但是由于官方的這個地址有時候更新的并不及時,這里并沒有顯示出Spring Cloud Alibaba 2.2.5.RELEASE應該使用哪一個版本的Spring Boot,那咋辦呢?
于是,我就反其道而行,我先隨便找了一個Spring Cloud Alibaba的組件,打開他的pom.xml,發現他所依賴的Spring Boot使用的是2.3.2.RELEASE,
Spring Boot的版本我確定了,Spring Cloud的我只要找哪一個版本用的是2.3.2.RELEASE不就行了嗎,經過我的一番查找,最終發現是Hoxton.SR7,
訪問地址:https://docs.spring.io/spring-cloud/docs/Hoxton.SR7/reference/html/

注意:在配套資料中,已經有了一個搭建好的父工程,接下來的學習,都是在這個父工程下進行學習的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/259780.html
標籤:其他
上一篇:云開發---uniapp云開發(二)---云存盤基礎
下一篇:main函式之前還能運行程式?
