写点什么

分享一个 GitHub 上最火的 SpringCloud 微服务商城系统项目实战,附全套教程

发布于: 2020 年 12 月 11 日

项目介绍



mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。



系统架构图





组织结构



 



  1. mall

  2. ├── mall-common -- 工具类及通用代码模块

  3. ├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块

  4. ├── mall-security -- 封装SpringSecurity+JWT的安全认证的模块

  5. ├── mall-registry -- 基于Eureka的微服务注册中心

  6. ├── mall-config -- 基于Spring Cloud Config的微服务配置中心

  7. ├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务

  8. ├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心

  9. ├── mall-admin -- 后台管理系统服务

  10. ├── mall-search -- 基于Elasticsearch的商品搜索系统服务

  11. ├── mall-portal -- 移动端商城系统服务

  12. └── 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实现日志收集



用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
分享一个 GitHub 上最火的 SpringCloud 微服务商城系统项目实战,附全套教程
2020 年 12 月 11 日 12:57
回复
没有更多了
分享一个GitHub上最火的SpringCloud微服务商城系统项目实战,附全套教程