源码简介
【精品源码】一套SpringCloud架构的可生产用的新零售商城系统
一套可生产用的新零售商城系统
项目描述
-
前后端分离的企业级微服务架构 -
基于 Spring Boot 2.0.X
、Spring Cloud Finchley
和Spring Cloud Alibaba
-
深度定制 Spring Security
真正实现了基于RBAC
、jwt
和oauth2
的无状态统一权限认证的解决方案 -
提供应用管理,方便第三方系统接入 -
引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易 -
注重代码规范,严格控制包依赖,每个工程基本都是最小依赖 -
非常适合学习和企业中使用
项目总体架构图
功能介绍
-
「统一认证功能」
-
支持oauth2的四种模式登录 -
支持用户名、密码加图形验证码登录 -
支持手机号加密码登录 -
支持openId登录 -
支持第三方系统单点登录
-
-
「分布式系统基础支撑」
-
服务注册发现、路由与负载均衡 -
服务降级与熔断 -
服务限流(url/方法级别) -
统一配置中心 -
统一日志中心 -
统一分布式缓存操作类、cacheManager配置扩展 -
分布式锁 -
分布式任务调度器 -
支持CI/CD持续集成(包括前端和后端) -
分布式高性能Id生成器 -
分布式事务
-
-
「系统监控功能」
-
服务调用链监控 -
应用拓扑图 -
慢服务检测 -
服务Metric监控 -
应用监控(应用监控、JVM、内存、线程) -
错误日志查询 -
慢查询SQL监控 -
应用吞吐量监控(qps、rt) -
服务降级、熔断监控 -
服务限流监控 -
分库分表、读写分离
-
-
「业务基础功能支撑」
-
高性能方法级幂等性支持 -
RBAC权限管理,实现细粒度控制(方法、url级别) -
快速实现导入、导出功能 -
数据库访问层自动实现crud操作 -
代码生成器 -
基于Hutool的各种便利开发工具 -
网关聚合所有服务的Swagger接口文档 -
统一跨域处理 -
统一异常处理
-
4. 模块说明
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-transaction -- 事务一级工程
│ │ ├─txlcn-tm -- tx-lcn事务管理器[7970]
│ ├─mall-demo -- demo一级工程
│ │ ├─txlcn-demo -- txlcn的demo
│ │ ├─sharding-jdbc-demo -- sharding-jdbc的demo
后台功能列表
小程序功能列表
uniapp
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。
项目部署
前期准备
1. 在idea安装lombok插件
2. 在idea安装MybatisX Plugin插件(选装)
3. 准备好数据库5.7+或8.0.14+
4. 初始化数据库
5. 脚本路径:根目录 mallcloud.sql
6. 准备好Redis
7. 准备好注册中心Nacos
8. 启动命令地址:mall-register\nacos\bin
9. Linux/Unix/Mac
10. 启动命令(standalone代表着单机模式运行,非集群模式):
11. sh startup.sh -m standalone
12. Windows
13. 启动命令:
14. cmd startup.cmd
15. 或者双击startup.cmd运行文件
16. 修改mall-config/src/main/resources/application-dev.properties里面的配置参数
17. 数据库配置
18. redis配置
19. elasticsearch配置
20. 非必须,如果不启用日志功能可不管
21. sentinel配置
22. 非必须,主要是用于展示应用吞吐量
23. 修改每个工程的bootstrap.yml文件里的nacos地址参数,如nacos是在本机启动的话就改为以下地址
- mall:
- nacos:
- server-addr: 127.0.0.1:8848
1. 项目启动:
2. 启动认证中心mall-uaa
3. 启动用户中心mall-bussiness/user-center
4. 启动网关mall-gateway/zuul-gateway
5. - 下面是业务模块,不一定需要全部启动
6. 启动订单中心mall-bussiness/order-center
7. 启动会员中心mall-bussiness/member-center
8. 启动商品中心mall-bussiness/goods-center
9. 启动营销中心mall-bussiness/marking-center
10. 启动内容中心mall-bussiness/cms-center
11. 启动前端工程: 解压根目录的mallcloud-admin-vue.zip,为后台管理的vue前端,
12. 需要安装nodejs环境,然后进入此目录,npm install ,成功后执行 npm run dev
项目截图
最后说明
这套项目大家可以下载下来,好好看下,学习下里面的架构,下载源码后里面已经提供好了源码、数据库脚本、部署文档等,加油,开干。