「架構師必備」基於SpringCloud的SaaS型微服務腳手架

簡介

基於SpringCloud(Hoxton.SR1) + SpringBoot(2.2.4.RELEASE) 的 SaaS型微服務腳手架,具備用戶管理、資源權限管理、網關統一鑑權、Xss防跨站攻擊、自動代碼生成、多存儲系統、分佈式事務、分佈式定時任務等多個模塊,支持多業務系統並行開發, 支持多服務並行開發,可以作為後端服務的開發腳手架。代碼簡潔,架構清晰,非常適合學習使用。核心技術採用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Seata、Nacos、Sentinel、 RabbitMQ、FastDFS等主要框架和中間件。

希望能努力打造一套從 SaaS基礎框架 - 分佈式微服務架構 - 持續集成 - 系統監測 的解決方案。本項目旨在實現基礎能力,不涉及具體業務。

部署方面, 可以採用以下4種方式,並會陸續公佈jenkins集合以下3種部署方式的腳本和配置文件:

  • IDEA 啟動
  • jar部署
  • docker部署
  • k8s部署

架構圖

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

技術棧/版本介紹

  • JSON序列化:Jackson
  • 消息隊列:RabbitMQ
  • 緩存:Redis
  • 緩存框架:J2Cache
  • 數據庫: MySQL 5.7.9 (驅動6.0.6)
  • 定時器:採用xxl-jobs項目進行二次改造
  • 前端:vue
  • 持久層框架: Mybatis-plus
  • 代碼生成器:基於Mybatis-plus-generator自定義
  • API網關:Zuul
  • 服務註冊與發現:Eureka -> Nacos
  • 服務消費:OpenFeign
  • 負載均衡:Ribbon
  • 配置中心:Nacos
  • 服務熔斷:Hystrix
  • 項目構建:Maven 3.3
  • 分佈式事務: seata
  • 分佈式系統的流量防衛兵: Sentinel
  • 監控: spring-boot-admin 2.x
  • 鏈路調用跟蹤: zipkin 2.x
  • 文件服務器:FastDFS 5.0.5/阿里雲OSS/本地存儲
  • Nginx

功能點

  • 服務註冊&發現與調用
  • 服務鑑權
  • 負載均衡
  • 熔斷機制
  • 監控
  • 鏈路調用監控
  • SaaS(多租戶)的無感解決方案
  • 防跨站腳本攻擊(XSS)
  • 代碼生成器
  • 定時任務調度器
  • 大文件/斷點/分片續傳
  • 分佈式事務
  • 跨表、跨庫、跨服務的關聯數據自動注入器
  • 灰度發佈

項目截圖

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

「架構師必備」基於SpringCloud的SaaS型微服務腳手架

源碼

https://gitee.com/zuihou111/zuihou-admin-cloud


分享到:


相關文章: