# NovaMall 高并发多角色全域交易服务平台 **Repository Path**: bu-jianwu/novaMall ## Basic Information - **Project Name**: NovaMall 高并发多角色全域交易服务平台 - **Description**: 基于 Spring Cloud Alibaba 微服务架构的企业级电商平台。采用前后端分离,含网关、管理后台、门户商城、认证、搜索等 7 大微服务,支持商品管理、购物车、秒杀促销、优惠券、积分抵扣、支付宝支付完整链路。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NovaMall 新星商城 > 基于 Spring Cloud Alibaba 微服务架构的高并发电商平台 --- ## 项目简介 NovaMall 新星商城是一个采用前后端分离设计的微服务电商平台,包含网关、管理后台、门户商城、认证中心、搜索服务、Demo 聚合、监控中心 7 大核心微服务模块。系统整合支付宝支付闭环,支持商品管理、购物车、秒杀促销、优惠券、SKU 阶梯定价、积分抵扣等完整电商链路,结合 Elasticsearch 全文检索与 Prometheus 全链路可观测性体系。 --- ## 技术栈 | 层级 | 技术 | | -------- | ------------------------------------------------------------ | | 核心框架 | Spring Boot 3.2.2 + Spring Cloud 2023.0.1 + Spring Cloud Alibaba 2023.0.1.0 | | 注册配置 | Nacos(注册中心 + 配置中心) | | API 网关 | Spring Cloud Gateway | | 远程调用 | OpenFeign + Spring Cloud LoadBalancer | | 权限认证 | Sa-Token 1.37.0 + JWT + Redis | | 数据库 | MySQL + Druid 连接池 | | ORM | MyBatis 3.5.14 + MyBatis Generator + PageHelper | | 缓存 | Redis | | 消息队列 | RabbitMQ(延迟队列) | | 搜索引擎 | Elasticsearch + IK 分词器 | | 对象存储 | MinIO + 阿里云 OSS | | 支付 | 支付宝 SDK(PC 支付 + H5 支付) | | 监控 | Spring Boot Admin + Prometheus + Micrometer + Logstash | | 接口文档 | Knife4j 4.5.0(OpenAPI 3 + Gateway 聚合) | | 容器部署 | Docker + fabric8 docker-maven-plugin | --- ## 项目架构 ``` ┌─────────────────────────────────────┐ │ Nacos 注册/配置中心 │ └─────────────────────────────────────┘ │ ▼ Client ────▶ Spring Cloud Gateway (8201) ────▶ Sa-Token 统一鉴权 │ │ │ ┌───────────┤ ┌────┴───┐ └──────────┐ ▼ ▼ ▼ ▼ ▼ ┌──────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │ auth │ │ admin │ │ portal │ │ search │ │ 8401 │ │ 8080 │ │ 8085 │ │ 8081 │ └──────┘ └──────────┘ └──────────┘ └──────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────────┐ ┌──────────┐ │ MySQL │ │ Redis │ │ RabbitMQ │ └──────────┘ └──────────────┘ └──────────┘ │ ┌──────┴──────┐ ▼ ▼ ┌────────────┐ ┌──────────┐ │ ES │ │ MinIO │ │ 9200 │ │ 9000 │ └────────────┘ └──────────┘ ``` --- ## 模块划分 ``` NovaMall ├── common # 公共模块:通用API、异常处理、Redis服务、日志切面、Prometheus埋点配置 ├── mbg # MyBatis Generator 模块:Mapper + Model + Example 自动生成 ├── gateway # API 网关:Spring Cloud Gateway + Sa-Token鉴权 + Knife4j文档聚合 ├── auth # 认证服务:会员/管理员登录注册、Nacos注册 ├── admin # 管理后台:商品管理、订单管理、优惠券、秒杀、用户权限 ├── portal # 门户商城:购物车、下单、支付、会员中心、首页聚合 ├── search # 搜索服务:Elasticsearch商品全文检索与推荐 ├── demo # 演示模块:Feign跨服务调用示例 └── moniter # 监控中心:Spring Boot Admin Server ``` --- ## 核心功能 ### 前台商城(portal) - 首页内容聚合(广告、推荐品牌、秒杀、新品、人气推荐、专题) - 商品搜索、分类浏览、商品详情(SKU/属性/优惠券) - 购物车管理(添加、修改数量、促销计算) - 订单流程(确认页 → 下单 → 支付 → 取消/超时回收) - 支付宝支付(PC 网页 + H5 手机) - 会员中心(注册、登录、积分、收货地址、优惠券、收藏、浏览历史) ### 运行截图 #### 登录页面 ![登录](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/1.png) #### 首页 ![首页](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/2.png) ![首页](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/6.png) ![首页](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/7.png) #### 商品秒杀 ![秒杀](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/21.png) ![秒杀](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/22.png) ![秒杀](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/23.png) #### 搜索 ![搜索](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/3.png) #### 商品详情 ![商品详情](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/4.png) #### 消息通知 ![消息通知](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/5.png) #### 分类 ![分类](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/8.png) #### 优惠券 ![优惠券](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/19.png) #### 购物车 ![购物车](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/9.png) #### 订单详情 ![订单详情](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/10.png) #### 订单数据 ![订单数据](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/12.png) #### 我的 ![我的](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/11.png) #### 收货地址 ![收货地址](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/14.png) #### 浏览历史 ![浏览历史](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/15.png) #### 我的关注 ![我的关注](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/16.png) #### 我的收藏 ![我的收藏](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/17.png) #### 设置 ![设置](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/18.png) #### 分享 ![分享](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/app/20.png) ### 管理后台(admin) - 商品管理(SKU、阶梯价、满减、会员价、属性参数) - 订单管理(发货、关闭、退款处理) - 营销管理(优惠券、秒杀活动、首页推荐内容) - 用户权限(管理员、角色、菜单、资源权限) - 文件上传(MinIO / 阿里云 OSS) ### 运行截图 #### 登录页面 ![登录](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/1.png) #### 注册页面 ![注册](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/18.png) #### 首页 ![报表展示](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/2.png) ![报表展示](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/3.png) #### 商品菜单 ![商品列表](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/4.png) ![添加商品](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/5.png) ![商品分类](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/6.png) ![商品类型](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/7.png) ![品牌管理](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/8.png) #### 订单菜单 ![订单列表](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/9.png) ![订单设置](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/10.png) #### 营销菜单 ![品牌推荐](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/11.png) ![人气推荐](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/12.png) ![新品推荐](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/13.png) ![专题推荐](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/14.png) #### 权限菜单 ![用户列表](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/15.png) ![角色列表](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/16.png) ![菜单列表](https://gitee.com/bu-jianwu/novaMall/raw/master/assets/admin/17.png) --- ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.5+ - MySQL 8.0 - Redis - Elasticsearch 8.x - RabbitMQ(需安装 `rabbitmq_delayed_message_exchange` 插件) - MinIO / 阿里云 OSS - Nacos 2.x ### 启动步骤 1. **克隆项目** ```bash git clone https://gitee.com/bujianwu/novamall.git cd novamall ``` 2. **初始化数据库** 执行项目中的 SQL 脚本创建 `mall` 数据库及表结构。 3. **启动 Nacos**(确保 8848 端口可访问) 4. **修改配置** 各模块 `application.yml` 中按实际情况修改数据库、Redis、ES、RabbitMQ 等连接信息。 5. **编译打包** ```bash mvn clean compile -DskipTests ``` 6. **启动服务**(建议顺序) ```bash # 1. 基础设施:Nacos、MySQL、Redis、ES、RabbitMQ # 2. 监控中心 mvn spring-boot:run -pl moniter # 3. 业务服务 mvn spring-boot:run -pl admin mvn spring-boot:run -pl portal mvn spring-boot:run -pl search mvn spring-boot:run -pl auth mvn spring-boot:run -pl demo # 4. 网关(最后启动) mvn spring-boot:run -pl gateway ``` ### 访问地址 | 服务 | 端口 | 说明 | | ------- | ---- | -------- | | Gateway | 8201 | 统一入口 | | Admin | 8080 | 管理后台 | | Portal | 8085 | 门户商城 | | Search | 8081 | 搜索服务 | | Auth | 8401 | 认证服务 | | Demo | 8082 | 演示服务 | | Moniter | 8101 | 监控面板 | **Swagger 文档:** http://localhost:8201/doc.html **Spring Boot Admin:** http://localhost:8101 **Prometheus 指标:** http://localhost:8201/actuator/prometheus --- ## 监控与可观测性 项目构建了"指标 → 日志 → 看板"的立体化监控体系: ### Prometheus 指标采集 - **JVM 层:** 内存、GC、线程、CPU 等运行时指标 - **HTTP 层:** AOP 切面采集每个请求的耗时、状态码、URI - **业务层:** 注册、登录、下单、支付、购物车、商品创建等 19 个核心业务 Counter ### 关键业务指标 | 指标名 | 说明 | | --------------------------------------- | -------------- | | `novamall_member_register_total` | 会员注册数 | | `novamall_member_login_total` | 会员登录数 | | `novamall_order_create_total` | 订单创建数 | | `novamall_pay_initiated_total` | 支付发起数 | | `novamall_pay_success_total` | 支付成功数 | | `novamall_product_detail_view_total` | 商品详情浏览数 | | `novamall_cart_add_total` | 购物车加购数 | | `novamall_es_search_total` | ES 搜索次数 | | `novamall_exceptions_total` | 异常总数 | | `novamall_flash_promotion_status_total` | 秒杀状态变更 | ### 日志采集 Logback → Logstash(4 路输出:DEBUG / ERROR / BUSINESS / RECORD)→ Elasticsearch --- ## Docker 部署 ```bash # 打包并构建镜像 mvn clean package -DskipTests # 各模块镜像名称:mall/{module-name}:1.0-SNAPSHOT ``` --- ## 开源协议 MIT License ---