「架構師必備」基於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基礎框架 - 分佈式微服務架構 - 持續集成 - 系統監測 的解決方案。本項目旨在實現基礎能力,不涉及具體業務。vue

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

  • IDEA 啓動spring

  • jar部署docker

  • 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

相關文章
相關標籤/搜索