系统架构
本页面介绍 MISEB 多商户电商系统的技术架构设计。
整体架构
┌─────────────────────────────────────────────────────────────────────┐
│ 客户端层 │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────┤
│ PC商城 │ H5商城 │ 微信小程序 │ 支付宝小程序 │ APP │
│ (Nuxt.js) │ (uni-app) │ (uni-app) │ (uni-app) │ (uni-app) │
└──────┬──────┴──────┬──────┴──────┬──────┴──────┬───────┴─────┬──────┘
│ │ │ │ │
└─────────────┴─────────────┼─────────────┴─────────────┘
│
┌──────────────────────────────────▼──────────────────────────────────┐
│ 接入层 │
│ Nginx (负载均衡/反向代理) │
└──────────────────────────────────┬──────────────────────────────────┘
│
┌────────────────────┴────────────────────┐
│ │
┌─────────────▼─────────────┐ ┌───────────────▼───────────────┐
│ 管理端服务 │ │ 用户端服务 │
│ Admin Service │ │ Front Service │
│ (8080) │ │ (8081) │
├───────────────────────────┤ ├───────────────────────────────┤
│ • 平台管理API │ │ • 用户API │
│ • 商户管理API │ │ • 商品API │
│ • 商品审核API │ │ • 订单API │
│ • 订单管理API │ │ • 购物车API │
│ • 财务结算API │ │ • 支付API │
│ • 系统配置API │ │ • 营销API │
└─────────────┬─────────────┘ └───────────────┬───────────────┘
│ │
└────────────────────┬────────────────────┘
│
┌──────────────────────────────────▼──────────────────────────────────┐
│ 服务层 │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────┤
│ 用户服务 │ 商品服务 │ 订单服务 │ 支付服务 │ 营销服务 │
├─────────────┴─────────────┴─────────────┴─────────────┴─────────────┤
│ Spring Boot + MyBatis-Plus │
└──────────────────────────────────┬──────────────────────────────────┘
│
┌──────────────────────────────────▼──────────────────────────────────┐
│ 数据层 │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────┤
│ MySQL │ Redis │ Elasticsearch│ MinIO │ Logstash │
│ 主数据库 │ 缓存 │ 搜索引擎 │ 对象存储 │ 日志收集 │
│ (3306) │ (6379) │ (9200) │ (9000) │ (4560) │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘技术选型
前端技术
| 模块 | 技术栈 | 说明 |
|---|---|---|
| PC商城 | Nuxt.js 3.x | SSR服务端渲染,SEO友好 |
| H5商城 | uni-app | 跨平台开发框架 |
| 小程序 | uni-app | 微信/支付宝/百度等多端 |
| 管理后台 | Vue 2.x + Element UI | 成熟稳定的后台框架 |
后端技术
| 技术 | 版本 | 说明 |
|---|---|---|
| Java | 1.8 | 稳定的LTS版本 |
| Spring Boot | 2.7.x | 主流微服务框架 |
| MyBatis-Plus | 3.5.x | ORM增强框架 |
| Spring Security | 5.x | 安全框架 |
| JWT | - | Token认证 |
| Swagger | 3.x | API文档 |
数据存储
| 组件 | 版本 | 用途 |
|---|---|---|
| MySQL | 8.0 | 主数据库 |
| Redis | 6.x | 缓存、Session、队列 |
| Elasticsearch | 9.x | 商品搜索、日志分析 |
| MinIO | latest | 图片、文件存储 |
运维组件
| 组件 | 用途 |
|---|---|
| Nginx | 反向代理、负载均衡 |
| Docker | 容器化部署 |
| Docker Compose | 容器编排 |
| Logstash | 日志收集 |
模块划分
后端模块
miseb-mer-java/
├── miseb-mer-common/ # 公共模块
│ ├── utils/ # 工具类
│ ├── constants/ # 常量定义
│ └── exception/ # 异常处理
│
├── miseb-mer-service/ # 业务服务模块
│ ├── user/ # 用户服务
│ ├── product/ # 商品服务
│ ├── order/ # 订单服务
│ ├── payment/ # 支付服务
│ └── marketing/ # 营销服务
│
├── miseb-mer-admin/ # 管理端应用
│ └── controller/ # 管理端API
│
└── miseb-mer-front/ # 用户端应用
└── controller/ # 用户端API前端模块
miseb-mer-platform/ # 平台管理端
miseb-mer-merchant/ # 商户管理端
miseb-mer-pc/ # PC商城
miseb-mer-uniapp/ # H5/小程序/APP数据流向
用户下单流程
用户 → 选择商品 → 加入购物车 → 确认订单 → 创建订单 → 支付
↓
扣减库存
↓
通知商户
↓
商户发货
↓
物流更新
↓
确认收货
↓
订单完成
↓
结算分账商户结算流程
订单完成 → 进入待结算 → 结算周期到达 → 生成结算单 → 平台审核
↓
审核通过
↓
商户提现
↓
财务打款安全设计
认证授权
- JWT Token认证
- 基于角色的权限控制(RBAC)
- 接口权限细粒度控制
数据安全
- 敏感数据加密存储
- SQL注入防护
- XSS攻击防护
- CSRF防护
传输安全
- HTTPS加密传输
- 接口签名验证
- 请求频率限制
扩展性设计
水平扩展
- 无状态服务设计
- Session外置到Redis
- 支持负载均衡
功能扩展
- 插件化设计
- 支付渠道可扩展
- 物流接口可扩展
- 短信渠道可扩展
