mall-swarm 微服務電商項目發(fā)布重大更新,打造Spring Cloud最佳實踐!

之前把我的
mall項目更新到了SpringBoot 2.3.0版本,微服務版本mall-swarm也已同步更新了。此次更新完善了項目的Spring Cloud技術棧,升級至Spring Cloud Hoxton版本并加入了Spring Cloud Alibaba、Oauth2和Knife4j,致力于打造Spring Cloud 最佳實踐項目!
系統(tǒng)架構圖

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

監(jiān)控中心應用信息;



API文檔信息;

日志收集系統(tǒng)信息;

可視化容器管理;


項目地址
如此給力的微服務電商實戰(zhàn)項目,趕緊點個
Star支持下吧!
https://github.com/macrozheng/mall-swarm
推薦閱讀:
喜歡我可以給我設為星標哦


