Java 程序员还在为没有项目经验感到苦恼?快来看看 GitHub 上最火的 SpringCloud 微服务商城系统开源项目,附全套教程!
项目介绍
mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。mall-swarm 在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。
系统架构图
 
 组织结构
项目地址及项目教程
转发+关注,然后添加 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 实现日志收集 












 
    
评论 (2 条评论)