写点什么

Java 程序员还在为没有项目经验感到苦恼?快来看看 GitHub 上最火的 SpringCloud 微服务商城系统开源项目,附全套教程!

发布于: 2020 年 10 月 21 日

项目介绍


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 实现日志收集


用户头像

添加我的微信:tkzl6666 获取文中资料 2020.09.19 加入

添加我的微信:tkzl6666 获取文中资料

评论 (2 条评论)

发布
用户头像
很有帮助
2020 年 10 月 21 日 16:54
回复
用户头像
Java 程序员还在为没有项目经验感到苦恼?快来看看 GitHub 上最火的 SpringCloud 微服务商城系统开源项目,附全套教程
2020 年 10 月 21 日 16:53
回复
没有更多了
Java程序员还在为没有项目经验感到苦恼?快来看看GitHub上最火的SpringCloud微服务商城系统开源项目,附全套教程!