之前mall專案更新到了SpringBoot 2.3.0版本,微服務版本mall-swarm也已同步更新了,此次更新完善了專案的Spring Cloud技術堆疊,升級至Spring Cloud Hoxton版本并加入了Spring Cloud Alibaba、Oauth2和Knife4j,致力于打造Spring Cloud 最佳實踐專案!
系統架構圖

系統架構圖
專案組織結構
mall
├── mall-common -- 工具類及通用代碼模塊
├── mall-mbg -- MyBatisGenerator生成的資料庫操作代碼模塊
├── mall-auth -- 基于Spring Security Oauth2的統一的認證中心
├── mall-gateway -- 基于Spring Cloud Gateway的微服務API網關服務
├── mall-monitor -- 基于Spring Boot Admin的微服務監控中心
├── mall-admin -- 后臺管理系統服務
├── mall-search -- 基于Elasticsearch的商品搜索系統服務
├── mall-portal -- 移動端商城系統服務
├── mall-demo -- 微服務遠程呼叫測驗服務
└── config -- 配置中心存盤的配置
更新內容一覽
- 集成Spring Cloud Alibaba,注冊中心改用Nacos;
- 權限功能改用Oauth2,實作統一認證和鑒權;
- 集成Knife4j,實作網關聚合API檔案;
- 升級Spring Cloud Hoxton.SR5;
- 升級Spring Boot 2.3.0.RELEASE;
- 升級Elasticsearch 7.6.2;
- ELK日志收集功能完善,采用分場景收集日志的方式;
- Window和Linux部署檔案更新,
更新內容介紹
Spring Cloud Alibaba
集成了Spring Cloud Alibaba,注冊中心和配置中心都改用了Nacos,之前使用的注冊中心是Eureka,已經進入維護期不再更新了,之前使用的配置中心是Spring Cloud Config,需要使用訊息佇列才能實作配置重繪,Nacos既可以當注冊中心又可以當配置中心,采用Netty保持TCP長連接實作配置重繪,擁有方便的管理界面,所以就改為使用Nacos了,原來的mall-registry和mall-config模塊已被移除,在config檔案夾中存放了Nacos中的配置,啟動專案時需要匯入到Nacos中去,
Oauth2
- 之前專案中有個mall-security的模塊,我把它稱為安全模塊,所有需要權限校驗的模塊都需要依賴它,有點工具包的感覺,在微服務中使用總感覺不倫不類,
- 這次改為使用Oauth2,添加了認證中心mall-auth,實作統一認證和鑒權,更加符合微服務權限控制,
- 于專案中存在兩套不同的用戶體系,后臺用戶和前臺用戶,認證中心對多用戶體系也有所支持,訪問認證中心時使用不同的client_id和client_secret即可區分不同用戶體系,后臺用戶使用admin-app:123456,前臺用戶使用portal-app:123456,
- 對原來的登錄介面做了兼容處理,分別會從內部呼叫認證中心獲取Token,依然可以使用,
Knife4j
之前每個微服務都有自己的API檔案地址,需要單獨訪問,這次把所有微服務的API檔案都聚合到了網關上,統一了訪問入口,直接訪問網關的API檔案地址即可
Spring Cloud Hoxton.SR5
Spring Cloud 和SpringBoot有著版本對應關系,升級到SpringBoot 2.3.0正好對應了該版本,
Window和Linux部署檔案更新
由于部分組件的升級及專案結構的改變,部署檔案也更新了,部署有問題的參考最新檔案!
- mall-swarm在Windows環境下的部署:
- mall-swarm在Linux環境下的部署(基于Docker容器)
其他
其他更新內容和mall專案基本相同
運行效果一覽
- 查看注冊中心服務資訊;

- 監控中心應用資訊;



- API檔案資訊;

- 日志收集系統資訊;

- 可視化容器管理;


專案地址
如此給力的微服務電商實戰專案趕緊來學習一波吧,轉發+關注,然后添加助理VX:MXW5308 即可免費獲取專案地址及專案全套教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/221227.html
標籤:其他
