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

2022-07-21 12:48:58 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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

自动化部署工具

项目结构

代码语言:javascript复制
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/mall-learning

学习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/springcloud-learning

学习mall-swarm

当我们学习了《mall学习教程》和《Spring Cloud学习教程》之后就可以着手学习mall-swarm这个项目了。首先需要的就是按之前的教程把项目跑起来,然后进行源码的学习,相信有了学习上面两套教程的基础,搞懂源码并不是什么难事。下面提供下mall-swarm的部署教程:

  • mall-swarm在Windows环境下的部署
  • mall-swarm在Linux环境下的部署(基于Docker容器)
  • 微服务架构下的自动化部署,使用Jenkins来实现!

项目地址:https://github.com/macrozheng/mall-swarm

对接前端项目

最近发现有很多朋友使用mall-admin-web项目来对接mall-swarm项目,遇到了一些问题。这里需要提醒一点,由于我们的mall-swarm项目使用Spring Cloud Gateway作为网关服务,所以前端请求都需要走网关服务,具体可以参考《前后端分离项目,引入 Spring Cloud Gateway 遇到的一个问题!》。

项目地址:https://github.com/macrozheng/mall-admin-web

项目地址

https://github.com/macrozheng/mall-swarm


发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124557.html原文链接:https://javaforall.cn

0 人点赞