1. 程式人生 > 實用技巧 >GitHub上最火的SpringCloud微服務商城系統專案,附全套教程

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

專案介紹

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

系統架構圖

組織結構

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 即可獲得《專案地址及專案教程》

技術選型

後端技術

前端技術

環境搭建

開發環境搭建

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

  • 登入介面地址:http://localhost:8201/mall-admin/admin/login
  • 訪問登入介面獲取到token後放入認證的頭資訊即可正常訪問其他需要登入的介面:

啟動前臺服務mall-portal

  • 直接執行com.macro.mall.portal.MallPortalApplication的main函式即可;
  • 通過mall-gateway閘道器服務訪問介面文件:http://localhost:8201/mall-portal/swagger-ui.html

  • 登入介面地址:http://localhost:8201/mall-portal/sso/login
  • 呼叫需要登入的介面方式同mall-admin。

啟動搜尋服務mall-search

  • 直接執行com.macro.mall.search.MallSearchApplication的main函式即可;
  • 通過mall-gateway閘道器服務訪問介面文件:http://localh

啟動測試服務mall-demo

  • 直接執行com.macro.mall.MallAdminApplication的main函式即可;
  • 通過mall-gateway閘道器服務訪問介面文件:http://localhost:8201/mall-demo/swagger-ui.html

  • 可以通過呼叫FeignAdminController、FeignPortalController、FeignSearchController來測試使用Feign的遠端呼叫功能。

效果展示

  • 註冊中心服務資訊:

監控中心服務概覽資訊:

  • 監控中心單應用詳情資訊:

擴充套件解決方案

  • 如果想使用Consul作為註冊及配置中心的話請參考:Spring Cloud Consul:服務治理與配置中心
  • 如果想使用Nacos作為註冊及配置中心的話請參考:Spring Cloud Alibaba:Nacos 作為註冊中心和配置中心使用
  • 分散式事務解決方案請參考:使用Seata徹底解決Spring Cloud中的分散式事務問題!
  • ELK日誌收集系統的搭建請參考:SpringBoot應用整合ELK實現日誌收集。