GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

項目介紹

mall-swarm是一套微服務商城系統,採用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技術,同時提供了基於Vue的管理後台方便快速搭建系統。mall-swarm在電商業務的基礎集成了註冊中心、配置中心、監控中心、網關等系統功能。

系統架構圖

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

組織結構

mall
├── mall-common -- 工具類及通用代碼模塊
├── mall-mbg -- MyBatisGenerator生成的數據庫操作代碼模塊
├── mall-security -- 封裝SpringSecurity+JWT的安全認證的模塊
├── mall-registry -- 基於Eureka的微服務註冊中心
├── mall-config -- 基於Spring Cloud Config的微服務配置中心
├── mall-gateway -- 基於Spring Cloud Gateway的微服務API網關服務
├── mall-monitor -- 基於Spring Boot Admin的微服務監控中心
├── mall-admin -- 後台管理系統服務
├── mall-search -- 基於Elasticsearch的商品搜索系統服務
├── mall-portal -- 移動端商城系統服務
└── mall-demo -- 微服務遠程調用測試服務

項目地址及項目教程

轉發+關注,然後添加我的VX:tkzl6666 即可獲得《項目地址及項目教程》的免費獲取方式。

技術選型

後端技術

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

前端技術

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

環境搭建

開發環境搭建

mall-swarm中使用到的環境和mall項目中大致相同,具體可以查看 mall在Windows環境下的部署

簡易環境搭建流程:

安裝IDEA並導入項目源碼;

安裝MySql,創建一個mall數據庫,並導入/document/sql/mall.sql文件;

安裝Redis、Elasticsearch、MongoDB、RabbitMQ等環境。

項目部署

mall-swarm項目啓動有先後順序,大家要按照以下順序啓動。

啓動註冊中心mall-registry

直接運行com.macro.mall.MallRegistryApplication的main函數即可;

運行完成後可以通過註冊中心控制枱查看:http://localhost:8001

啓動配置中心mall-config

直接運行com.macro.mall.MallConfigApplication的main函數即可;

訪問以下接口獲取mall-admin在dev環境下的配置信息:http://localhost:8301/master/admin-dev.yml

啓動監控中心mall-monitor

直接運行com.macro.mall.MallMonitorApplication的main函數即可;

運行完成後可以通過監控中心控制枱查看:http://localhost:8101

輸入賬號密碼macro:123456可以登錄查看。

啓動網關服務mall-gateway

直接運行com.macro.mall.MallGatewayApplication的main函數即可;

訪問以下接口獲取動態路由規則:http://localhost:8201/actuator/gateway/routes

啓動後台管理服務mall-admin

直接運行com.macro.mall.MallAdminApplication的main函數即可;

通過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-admin/swagger-ui.html

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

登錄接口地址:http://localhost:8201/mall-admin/admin/login

訪問登錄接口獲取到token後放入認證的頭信息即可正常訪問其他需要登錄的接口:

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

啓動前台服務mall-portal

直接運行com.macro.mall.portal.MallPortalApplication的main函數即可;

通過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-portal/swagger-ui.html

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

登錄接口地址:http://localhost:8201/mall-portal/sso/login

調用需要登錄的接口方式同mall-admin。

啓動搜索服務mall-search

直接運行com.macro.mall.search.MallSearchApplication的main函數即可;

通過mall-gateway網關服務訪問接口文檔:http://localh

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

啓動測試服務mall-demo

直接運行com.macro.mall.MallAdminApplication的main函數即可;

通過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-demo/swagger-ui.html

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

可以通過調用FeignAdminController、FeignPortalController、FeignSearchController來測試使用Feign的遠程調用功能。

效果展示

註冊中心服務信息:

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

監控中心服務概覽信息:

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程
GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

監控中心單應用詳情信息:

GitHub上最火的SpringCloud微服務商城系統項目,附全套教程
GitHub上最火的SpringCloud微服務商城系統項目,附全套教程

擴展解決方案

如果想使用Consul作為註冊及配置中心的話請參考:Spring Cloud Consul:服務治理與配置中心

如果想使用Nacos作為註冊及配置中心的話請參考:Spring Cloud Alibaba:Nacos 作為註冊中心和配置中心使用

分佈式事務解決方案請參考:使用Seata徹底解決Spring Cloud中的分佈式事務問題!

ELK日誌收集系統的搭建請參考:SpringBoot應用整合ELK實現日誌收集

【來源:Java架構師之路】

聲明:轉載此文是出於傳遞更多信息之目的。若有來源標註錯誤或侵犯了您的合法權益,請作者持權屬證明與本網聯繫,我們將及時更正、刪除,謝謝。 郵箱地址:[email protected]

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 2652 字。

轉載請註明: GitHub上最火的SpringCloud微服務商城系統項目,附全套教程 - 楠木軒