共计 2394 个字符,预计需要花费 6 分钟才能阅读完成。
SpringBoot 实战电商项目 mall(30k+star)地址:https://github.com/macrozheng/mall
摘要
mall-swarm
作为 mall
项目的 Spring Cloud 版本,目前已更新至最新代码,新增了权限管理功能。mall
项目中的代码将一直保持最新,mall-swarm
每过一段时间将从 mall
中合并一次代码,本文主要介绍 mall-swarm
的基本内容及学习路线。
mall-swarm 简介
mall-swarm
是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。mall-swarm
在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。
系统架构图
后端技术栈
技术 | 说明 |
---|---|
Spring Cloud | 微服务框架 |
Spring Boot | 容器 +MVC 框架 |
Spring Security | 认证和授权框架 |
MyBatis | ORM 框架 |
MyBatisGenerator | 数据层代码生成 |
PageHelper | MyBatis 物理分页插件 |
Swagger-UI | 文档生产工具 |
Elasticsearch | 搜索引擎 |
RabbitMq | 消息队列 |
Redis | 分布式缓存 |
MongoDb | NoSql 数据库 |
Docker | 应用容器引擎 |
Druid | 数据库连接池 |
OSS | 对象存储 |
MinIO | 对象存储 |
JWT | JWT 登录支持 |
LogStash | 日志收集 |
Lombok | 简化对象封装工具 |
Seata | 全局事务管理框架 |
Portainer | 可视化 Docker 容器管理 |
Jenkins | 自动化部署工具 |
项目结构
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 -- 微服务远程调用测试服务
学习路线
之前有朋友问我,
mall-swarm
这个项目有没有学习教程?其实这个项目的功能与mall
项目基本一致,只是在此基础上改成了微服务版本,只要看我写的《mall 学习教程》和《Spring Cloud 学习教程》即可,下面聊聊我所推荐的学习路线。
学习 mall
《mall 学习教程》主要分为如下几个部分,推荐学习顺序是除参考篇以外可以按下面的顺序学习,对于参考篇,可以在用到里面相关技术时再学习。
- 序章:
mall
项目的整体架构及功能介绍,同时对于新手推荐了一些相关书籍资料; - 架构篇:
mall
项目的架构搭建教程,手把手教你搭建一个mall
项目在使用的基本项目骨架; - 业务篇:
mall
项目电商业务相关教程,对于了解项目业务有很大帮助; - 技术要点篇:
mall
项目中的一些技术要点解析,主要介绍一些技术在项目中的运用; - 部署篇:
mall
项目的部署教程,包括 Windows、Linux 和自动化部署方案; - 参考篇:
mall
项目中所用技术和工具的入门教程,每一篇都可以单独学习,对于mall
项目,这些教程的深入程度都刚刚好。
项目地址:https://github.com/macrozheng…
学习 SpringCloud
《Spring Cloud 学习教程》是一套涵盖大部分核心组件使用的教程,包括 Spring Cloud Alibaba 及分布式事务 Seata,基于 Spring Cloud Greenwich 及 SpringBoot 2.1.7。20 篇文章,篇篇精华,30 个 Demo,涵盖大部分应用场景。mall-swarm
项目中所用到的 Spring Cloud 技术该教程基本都涵盖了,学习该教程可以为学习 mall-swarm
项目打下良好的 Spring Cloud 基础。
项目地址:https://github.com/macrozheng…
学习 mall-swarm
当我们学习了《mall 学习教程》和《Spring Cloud 学习教程》之后就可以着手学习 mall-swarm
这个项目了。首先需要的就是按之前的教程把项目跑起来,然后进行源码的学习,相信有了学习上面两套教程的基础,搞懂源码并不是什么难事。下面提供下 mall-swarm
的部署教程:
- mall-swarm 在 Windows 环境下的部署
- mall-swarm 在 Linux 环境下的部署(基于 Docker 容器)
- 微服务架构下的自动化部署,使用 Jenkins 来实现!
项目地址:https://github.com/macrozheng…
对接前端项目
最近发现有很多朋友使用 mall-admin-web
项目来对接 mall-swarm
项目,遇到了一些问题。这里需要提醒一点,由于我们的 mall-swarm
项目使用 Spring Cloud Gateway 作为网关服务,所以前端请求都需要走网关服务,具体可以参考《前后端分离项目,引入 Spring Cloud Gateway 遇到的一个问题!》。
项目地址:https://github.com/macrozheng…
项目地址
https://github.com/macrozheng/mall-swarm
公众号
mall 项目全套学习教程连载中,关注公众号 第一时间获取。