大家好我是仁傑,今天給大家分享一款基于Spring Cloud Alibaba的微服務架構。旨在為大家提供技術架構的基礎能力的封裝,減少開發工作,讓開發的隻專注業務。
特點
- 主體架構:采用最新的Spring Cloud 2021、SpringBoot2.7.10、Spring Cloud Alibaba2021版本;
- 統一注冊:支援nacos作為注冊中心,實作多配置、分群組、分命名空間、多業務子產品;
- 統一認證:統一Oauth2認證協定,采用jwt的方式,實作統一認證,并支援自定義grant_type實作手機号碼登入,第三方登入內建JustAuth實作微信、支付寶等多種登入模式;
- 業務監控:利用Spring Boot Admin來監控各個獨立Service的運作狀态。
- 内部調用:內建了Feign和Dubbo兩種模式支援内部調用,并且可以實作無縫切換,快速熟悉項目;
- 業務熔斷:采用Sentinel實作業務熔斷處理,避免服務之間出現雪崩;
- 身份注入:通過注解的方式,實作使用者登入資訊的快速注入;
- 線上文檔:通過接入Knife4j,實作線上API文檔的檢視與調試;
- 代碼生成:基于Mybatis-plus-generator自動生成代碼,提升開發效率;
- 消息中心:內建消息中間件RocketMQ和Kafka,對業務進行異步處理;
- 業務分離:采用前後端分離的架構設計,前端采用vue-element-admin;
- 鍊路追蹤:自定義traceId的方式,實作簡單的鍊路追蹤功能
- 多租戶功能:內建Mybatis Plus,實作SAAS多租戶功能
預覽
登入頁面
工作台
分析頁
使用者管理
組織架構
職位管理
系統設定
字典管理
地區資訊
菜單管理
角色管理
應用管理
租戶管理
動态資料集
我的消息
釋出消息
測試消息
代碼生成
自定義頁面
設計表單
登入日志
記錄檔
異常日志
部署
技術棧
- Vue 3.2.45
- Pinia 2.0.28
- Vue-i18n 9.1.8
- Ant-design-vue 2.2.6
- Axios 1.2.1
- Vue-router 4.3.8
- Vite 3.2.5
導入SQL檔案
/doc/sql/matex.sql
導入Nacos配置
# 通用配置
/doc/nacos/mate.yaml
# 資料庫、redis等配置參數
/doc/nacos/mate-local.yaml
# 動态路由配置參數
/doc/nacos/mate-dynamic-routes.yaml
修改mate-local.yaml配置
spring:
redis:
#redis 單機環境配置
host: 127.0.0.1
port: 6379
password:
database: 0
ssl: false
#redis 叢集環境配置
#cluster:
# nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
# commandTimeout: 5000
mate:
datasource:
url: jdbc:mysql://127.0.0.1:3306/matex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
必要啟動子產品
# 啟動認證子產品(mate-uaa)
運作vip.mate.uaa.MateUaaServer
# 啟動系統子產品(mate-system)
運作vip.mate.system.MateSystemServer
# 啟動代碼子產品(mate-code)[可選]
運作vip.mate.code.MateCodeServer
# 啟動網關子產品(mate-gateway)
運作vip.mate.gateway.MateGatewayServer
總結
項目代碼優美、文檔齊全、代碼邏輯清晰、注釋齊全、架構清晰,非常适合學習和企業作為基礎架構使用。