SpringBoot實戰電商項目mall出SpringCloud版本啦

去年12月的時候,mall項目正式發佈,做爲Github上面最火的SpringBoot實戰電商項目,累計得到了25000+Star。今年仍是12月,mall項目微服務版本mall-swarm正式發佈,
項目介紹html

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

系統架構圖
SpringBoot實戰電商項目mall出SpringCloud版本啦git

組織結構github

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 -- 微服務遠程調用測試服務

項目文檔sql

項目文檔mall系列教程:www.macrozheng.com
配套Spring Cloud系列教程:github.com/macrozheng/…
項目演示數據庫

後臺管理系統: www.macrozheng.com/admin/index…
移動端商城系統:www.macrozheng.com/app/index.h…
技術選型後端

後端技術
SpringBoot實戰電商項目mall出SpringCloud版本啦安全

前端技術
SpringBoot實戰電商項目mall出SpringCloud版本啦架構

環境搭建app

開發環境搭建

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

SpringBoot實戰電商項目mall出SpringCloud版本啦

登陸接口地址:http://localhost:8201/mall-admin/admin/login
訪問登陸接口獲取到token後放入認證的頭信息便可正常訪問其餘須要登陸的接口:
SpringBoot實戰電商項目mall出SpringCloud版本啦

啓動前臺服務mall-portal

直接運行com.macro.mall.portal.MallPortalApplication的main函數便可;
經過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-portal/swagger-ui.html
SpringBoot實戰電商項目mall出SpringCloud版本啦

登陸接口地址:http://localhost:8201/mall-portal/sso/login
調用須要登陸的接口方式同mall-admin。
啓動搜索服務mall-search

直接運行com.macro.mall.search.MallSearchApplication的main函數便可;
經過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-search/swagger-ui.html
SpringBoot實戰電商項目mall出SpringCloud版本啦

啓動測試服務mall-demo

直接運行com.macro.mall.MallAdminApplication的main函數便可;
經過mall-gateway網關服務訪問接口文檔:http://localhost:8201/mall-demo/swagger-ui.html
SpringBoot實戰電商項目mall出SpringCloud版本啦

能夠經過調用FeignAdminController、FeignPortalController、FeignSearchController來測試使用Feign的遠程調用功能。
效果展現

註冊中心服務信息:
SpringBoot實戰電商項目mall出SpringCloud版本啦

監控中心服務概覽信息:
SpringBoot實戰電商項目mall出SpringCloud版本啦

SpringBoot實戰電商項目mall出SpringCloud版本啦

監控中心單應用詳情信息:
SpringBoot實戰電商項目mall出SpringCloud版本啦

SpringBoot實戰電商項目mall出SpringCloud版本啦

擴展解決方案

若是想使用Consul做爲註冊及配置中心的話請參考:Spring Cloud Consul:服務治理與配置中心若是想使用Nacos做爲註冊及配置中心的話請參考:Spring Cloud Alibaba:Nacos 做爲註冊中心和配置中心使用分佈式事務解決方案請參考:使用Seata完全解決Spring Cloud中的分佈式事務問題!ELK日誌收集系統的搭建請參考:SpringBoot應用整合ELK實現日誌收集。

相關文章
相關標籤/搜索