基于 vue+SpringBoot+MyBatis 的开源多商户商城系统,可二次开发
Redis 3.2 分布式缓存
MongoDb 3.2 NoSql 数据库
Docker 18.09.0 应用容器引擎
Druid 1.1.10 数据库连接池
OSS 2.5.0 对象存储
JWT 0.9.0 JWT 登录支持
Lombok 1.18.6 简化对象封装工具
# mallcloud-platform
springcloud 版本商城? https://git
ee.com/catshen/zscat_sw
## 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢
[TOC]
## 1. 项目介绍
* 账号密码:admin/admin
* 应用监控账号密码:admin/admin
* 配置中心账号密码:nacos/nacos
* APM 监控账号密码:admin/admin
* Grafana 账号:mall/mall
* txlcn 事务管理器密码:admin
* 任务管理账号密码:admin/123456
* **演示环境有全方位的监控示例:日志系统 + APM 系统 + GPE 系统**
* 前后端分离的企业级微服务架构
* 基于`Spring Boot 2.0.X`、`Spring Cloud Finchley`和`Spring Cloud Alibaba`
* 深度定制`Spring Security`真正实现了基于`RBAC`、`jwt`和`oauth2`的无状态统一权限认证的解决方案
* 提供应用管理,方便第三方系统接入
* 引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易
* 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖
* 非常适合学习和企业中使用
> cloud 框架和组件来源:https://gitee.com/owenwangwen/open-capacity-platform
https://gitee.com/zlt2000/microservices-platform
> 业务逻辑来源:https://github.com/shenzhuan/mallplus
## 2. 项目总体架构图
## 3. 功能介绍
* **统一认证功能**
* 支持 oauth2 的四种模式登录
* 支持用户名、密码加图形验证码登录
* 支持手机号加密码登录
* 支持 openId 登录
* 支持第三方系统单点登录
* **分布式系统基础支撑**
* 服务注册发现、路由与负载均衡
* 服务降级与熔断
* 服务限流(url/方法级别)
* 统一配置中心
* 统一日志中心
* 统一分布式缓存操作类、cacheManager 配置扩展
* 分布式锁
* 分布式任务调度器
* 支持 CI/CD 持续集成(包括前端和后端)
* 分布式高性能 Id 生成器
* 分布式事务
* **系统监控功能**
* 服务调用链监控
* 应用拓扑图
* 慢服务检测
* 服务 Metric 监控
* 应用监控(应用健康、JVM、内存、线程)
* 错误日志查询
* 慢查询 SQL 监控
* 应用吞吐量监控(qps、rt)
* 服务降级、熔断监控
* 服务限流监控
* 分库分表、读写分离
* **业务基础功能支撑**
* 高性能方法级幂等性支持
* RBAC 权限管理,实现细粒度控制(方法、url 级别)
* 快速实现导入、导出功能
* 数据库访问层自动实现 crud 操作
* 代码生成器
* 基于 Hutool 的各种便利开发工具
* 网关聚合所有服务的 Swagger 接口文档
* 统一跨域处理
* 统一异常处理
## 4. 模块说明
```lua
mallcloud -- 父项目,公共依赖
│? ├─mall-business -- 业务模块一级工程
│? │? ├─user-center -- 用户中心[7000]
│? │? ├─file-center -- 文件中心[5000]
│? │? ├─member-center -- 会员中心[7001]
│? │? ├─goods-center -- 商品中心[7002]
│? │? ├─order-center -- 订单中心[7003]
│? │? ├─marking-center -- 营销中心[7004]
│? │─mall-commons -- 通用工具一级工程
│? │? ├─mall-auth-client-spring-boot-starter -- 封装 spring security client 端的通用操作逻辑
│? │? ├─mall-common-spring-boot-starter -- 封装通用操作逻辑
│? │? ├─mall-db-spring-boot-starter -- 封装数据库通用操作逻辑
│? │? ├─mall-log-spring-boot-starter -- 封装 log 通用操作逻辑
│? │? ├─mall-redis-spring-boot-starter -- 封装 Redis 通用操作逻辑
│? │? ├─mall-ribbon-spring-boot-starter -- 封装 Ribbon 和 Feign 的通用操作逻辑
│? │? ├─mall-sentinel-spring-boot-starter -- 封装 Sentinel 的通用操作逻辑
│? │? ├─mall-swagger2-spring-boot-starter -- 封装 Swagger 通用操作逻辑
│? ├─mall-config -- 配置中心
│? ├─mall-doc -- 项目文档
│? ├─mall-gateway -- api 网关一级工程
│? │? ├─zuul-gateway -- netflix-zuul[8080]
│? ├─mall-job -- 分布式任务调度一级工程
│? │? ├─job-admin -- 任务管理器[8081]
│? │? ├─job-core -- 任务调度核心代码
│? │? ├─job-executor-samples -- 任务执行者 executor 样例[8082]
│? ├─mall-monitor -- 监控一级工程
│? │? ├─sc-admin -- 应用监控[6500]
│? │? ├─log-center -- 日志中心[6200]
│? ├─mall-uaa -- spring-security 认证中心[8000]
│? ├─mall-register -- 注册中心 Nacos[8848]
│? ├─mall-web -- 前端一级工程
│? │? ├─back-web -- 后台前端[8066]
│? ├─mall-transaction -- 事务一级工程
│? │? ├─txlcn-tm -- tx-lcn 事务管理器[7970]
│? ├─mall-demo -- demo 一级工程
│? │? ├─txlcn-demo -- txlcn 的 demo
│? │? ├─sharding-jdbc-demo -- sharding-jdbc 的 demo
```
前期准备
1. 在 idea 安装 lombok 插件
1. 在 idea 安装 MybatisX Plugin 插件(选装)
1. 准备好数据库 5.7+或 8.0.14+
1. 初始化数据库
1. 脚本路径:根目录 mallcloud.sql
1. 准备好 Redis
1. 准备好注册中心 Nacos
1. 启动命令地址:mall-register\nacos\bin
1. Linux/Unix/Mac
1. 启动命令(standalone 代表着单机模式运行,非集群模式):
1. sh startup.sh -m standalone
1. Windows
1. 启动命令:
1. cmd startup.cmd
1. 或者双击 startup.cmd 运行文件
1. 修改 mall-config/src/main/resources/application-dev.properties 里面的配置参数
1. 数据库配置
1. redis 配置
1. elasticsearch 配置
1. 非必须,如果不启用日志功能可不管
1. sentinel 配置
1. 非必须,主要是用于展示应用吞吐量
1. 修改每个工程的 bootstrap.yml 文件里的 nacos 地址参数,如 nacos 是在本机启动的话就改为以下地址
*? mall:
评论