前提介紹
SpringCloud-Alibaba緻力于提供微服務開發的一站式解決方案。此項目包含開發分布式應用服務的必需元件,友善開發者通過 Spring Cloud程式設計模型輕松使用這些元件來開發分布式應用服務。
依托 Spring Cloud Alibaba,您隻需要添加一些注解和少量配置,就可以将 Spring Cloud 應用接入阿裡分布式應用解決方案,通過阿裡中間件來迅速搭建分布式應用系統。
此外,阿裡雲同時還提供了 Spring Cloud Alibaba 企業版 微服務解決方案,包括無侵入服務治理(全鍊路灰階,無損上下線,離群執行個體摘除等),企業級 Nacos 注冊配置中心和企業級雲原生網關等衆多産品。
SpringCloud-Alibaba的開源服務
- Nacos Config(分布式配置中心)
- Nacos Discovery(分布式注冊中心)
- Sentinel(熔斷限流器)
- RocketMQ(消息隊列)
- Seata(分布式事務)
Spring Cloud Alibaba從開源建設以來,受到了很多社群同學的關注。社群的每一個 issue ,每一個 PR,都是對整個項目的幫助,都在為建設更好用的 Spring Cloud添磚加瓦。
SpringCloud-Alibaba版本說明
SpringBoot+SpringCloud+SpringCloud-Alibaba對的版本關系
由于Spring Boot 2.4+和以下版本之間變化較大,目前企業級客戶老項目相關Spring Boot版本仍停留在SpringBoot2.4以下,為了同時滿足存量使用者和新使用者不同需求,社群以SpringBoot 2.4 為分界線,同時維護 2.2.x 和 2021.x 兩個分支疊代。 為了規避相關建構過程中的依賴沖突問題,我們建議可以通過雲原生應用腳手架進行項目建立。
2021.x 分支的版本關系
适配SpringBoot 2.4,Spring Cloud2021.x版本及以上的Spring Cloud Alibaba版本按從新到舊排列如下表(最新版本用 * 标記)
注意,該分支 Spring Cloud Alibaba版本命名方式進行了調整,未來将對應Spring Cloud版本,前三位為Spring Cloud版本,最後一位為擴充版本,比如适配 Spring Cloud 2021.0.1 版本對應的Spring Cloud Alibaba第一個版本為:2021.0.1.0,第個二版本為:2021.0.1.1,依此類推)
2.2.x 分支
适配 Spring Boot 為 2.4,Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本按從新到舊排列如下表(最新版本用 * 标記):
元件版本關系
每個 Spring Cloud Alibaba 版本及其自身所适配的各元件對應版本如下表所示(注意,Spring Cloud Dubbo 從 2021.0.1.0 起已被移除出主幹,不再随主幹演進):
使用Alibaba雲原生腳手架搭建SpringCloud-Alibaba架構
- Alibaba雲原生腳手架
使用對應的SpringCloud-Alibaba腳手架進行搭建架構的方案和案例實戰,接下來會進行分析說明,在讨論如何搭建之前,我們需要分析一下SpringBoot、SpringCloud和SpringCloud-Alibaba的版本關系對應關系,否則你會很難受,無法正常啟動和實作你所想要實作的功能效果。
通路我們的雲原生腳手架
項目建構方式
首先需要選擇項目建構方式,對于我們常用的建構方式主要有Maven和Gradle中兩種類型
- Maven Project:官方倉庫:https://mvnrepository.com下載下傳位址:https://maven.apache.org/download.cgi選擇對應的版本安裝包即可
- Gradle Project官方網站:https://gradle.org/下載下傳位址:https://gradle.org/releases/選擇對應的版本安裝包即可
開發語言
- Java:主要作為我們首選開發語言
- Kotlin
- Groovy
Spring Boot版本
項目基本資訊
- Group:項目分組:需要進行填寫項目的包名根目錄,一般為域名反向
- Artifact:項目名稱:需要進行填寫相關的項目名稱。
- version:項目版本:版本号。
選擇進階選項
- 項目名稱:demo,主要設定maven項目的根目錄
- 項目描述:Demo project for Spring Boot,設定項目資訊描述介紹
- 項目基礎包:com.example.demo
- 打包方式:Jar/War
- Java版本:11/8
應用架構
- 單子產品:屬于最簡單的架構案例
- MVC架構:采用SpringMVC架構實作web服務,可以選擇一些服務元件案例,作為我們項目參考
- Jackso案例
- Thymeleaf案例
- Mybatis案例
- Web服務案例(Controller控制器)
- 分層架構:主要指的是前後端分離的架構案例,是以不會有對應的Thymeleaf案例了。
元件依賴
- Alibaba Cloud:主要用于阿裡雲的元件服務
- Spring Cloud Alibaba
其他元件可以自行選擇即可
- 開發工具
- Web
- 模闆引擎
- 安全
- 關系型資料庫
- 非關系型資料庫
- 消息
- 輸入/輸出
- Ops
- 觀測
- 等等......
點選浏覽代碼
點選下載下傳代碼
這樣就完成了整體的架構搭建代碼
原文連結:https://www.cnblogs.com/liboware/p/16981429.html