一个不容错过的Spring-Cloud实战项目

42次阅读

共计 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 项目全套学习教程连载中,关注公众号 第一时间获取。

正文完
 0