【深入淺出SpringCloud原理及實戰】「SpringCloud-Alibaba系列」微服務模式搭建系統基礎架構實戰指南及版本規劃踩坑分析

前提介紹

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框架

使用對應的SpringCloud-Alibaba腳手架進行搭建框架的方案和案例實戰,接下來會進行分析說明,在討論如何搭建之前,我們需要分析一下SpringBoot、SpringCloud和SpringCloud-Alibaba的版本關係對應關係,否則你會很難受,無法正常啓動和實現你所想要實現的功能效果。

訪問我們的雲原生腳手架

項目構建方式

首先需要選擇項目構建方式,對於我們常用的構建方式主要有Maven和Gradle中兩種類型

開發語言

  • 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
  • 觀測
  • 等等......

點擊瀏覽代碼

點擊下載代碼

這樣就完成了整體的架構搭建代碼

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