簡介
基於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部署
架構圖
技術棧/版本介紹
- 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)
- 代碼生成器
- 定時任務調度器
- 大文件/斷點/分片續傳
- 分佈式事務
- 跨表、跨庫、跨服務的關聯數據自動注入器
- 灰度發佈
項目截圖
源碼
https://gitee.com/zuihou111/zuihou-admin-cloud
閱讀更多 Java架構學習交流 的文章