# ERP Java微服务系统 - 项目开发汇总报告

> 📅 报告生成时间：2026年4月5日  
> 📌 版本：v1.0

---

## 1. 项目概述

| 属性 | 值 |
|------|-----|
| **开发时间** | 2026年4月 |
| **项目规模** | 31个微服务 |
| **代码总量** | 约10.9万行Java代码 |
| **技术栈** | Java 17 + Spring Boot 3.x + Spring Cloud Alibaba 2023.x |
| **文档数量** | 31个README + 部署文档 + 数据库设计文档 |
| **构建工具** | Maven |
| **基础设施** | MySQL 8.0 / Redis 7.x / Nacos 2.x / RocketMQ 5.x / Seata 1.7 / MinIO |

### 核心特性

- ✅ **微服务架构**：基于Spring Cloud Alibaba的完整微服务解决方案
- ✅ **多租户支持**：完整的租户隔离体系
- ✅ **分布式事务**：Seata AT模式保证数据一致性
- ✅ **消息队列**：RocketMQ实现异步解耦
- ✅ **配置中心**：Nacos统一管理所有配置
- ✅ **API网关**：Spring Cloud Gateway统一入口
- ✅ **监控体系**：SkyWalking全链路追踪
- ✅ **对象存储**：MinIO私有化文件存储

---

## 2. 微服务清单

| 序号 | 服务名 | 端口 | 容器端口 | 功能描述 | API数量 | 数据库 |
|------|--------|------|----------|----------|---------|--------|
| 1 | gateway | 8080 | 8080 | API网关 - 统一入口，路由转发、鉴权、限流 | - | erp_java |
| 2 | admin-service | 8081 | 8081 | 总控服务 - 租户管理、套餐管理、系统配置 | - | erp_java |
| 3 | user-service | 8082 | 8082 | 用户服务 - 用户管理、认证、权限 | 6 | erp_java |
| 4 | product-service | 8083 | 8083 | 商品服务 - 商品管理、分类、品牌、供应商 | 14 | erp_java |
| 5 | order-service | 8084 | 8082 | 订单服务 - 订单管理、订单结算 | 54 | erp_java |
| 6 | inventory-service | 8085 | 8084 | 库存服务 - 库存管理、盘点、预警 | 25 | erp_java |
| 7 | tenant-service | 8086 | 8083 | 租户服务 - 多租户管理、套餐、权限隔离 | 55 | erp_db |
| 8 | file-service | 8090 | 8082 | 文件服务 - 文件上传、下载、预览、管理 | 13 | erp_db |
| 9 | scheduled-task-service | 8091 | 8088 | 定时任务服务 - 分布式任务调度（兼容XXL-Job） | 36 | erp_task |
| 10 | aftersale-service | 8087 | 8087 | 售后管理服务 - 退款/退货/换货/维修全流程 | 22 | erp_db |
| 11 | ai-service | 8087 | 8087 | AI助手服务 - 智能对话、模型管理、任务执行 | 17 | erp_db |
| 12 | approval-flow-service | 8086 | 8086 | 审核流服务 - 审核规则、流程、日志 | 15 | erp_db |
| 13 | audit-log-service | 8098 | 8098 | 操作日志审计服务 - 审计日志、敏感操作告警 | 20 | erp_audit |
| 14 | category-service | 8096 | 8085 | 分类管理服务 - 层级分类完整CRUD | 0 | - |
| 15 | customer-service | 8086 | 8086 | 客户关系管理服务 - 客户、跟进、联系人、地址 | 67 | erp_db |
| 16 | dashboard-service | 8086 | 8086 | 仪表盘服务 - 首页数据、统计、预警 | 1 | erp_db |
| 17 | data-import-export-service | 8088 | 8088 | 数据导入导出服务 - Excel/CSV、批量处理 | 17 | erp_java |
| 18 | finance-service | 8007 | 8007 | 财务服务 - 收款/退款、应付/付款、财务报表 | 55 | erp_db |
| 19 | invoice-service | 8086 | 8086 | 发票管理服务 - 发票申请、开具、作废全生命周期 | 16 | erp_db |
| 20 | logistics-service | 8086 | 8086 | 物流轨迹服务 - 轨迹同步、多物流商适配 | 9 | erp_db |
| 21 | notification-service | 8087 | 8087 | 通知服务 - 消息推送、通知模板 | 0 | - |
| 22 | permission-service | 8084 | 8084 | 权限服务 - RBAC角色权限管理 | 10 | erp_db |
| 23 | print-service | 8089 | 8089 | 打印服务 - 打印模板、打印任务、多打印机支持 | 28 | erp_db |
| 24 | purchase-service | 8010 | 8010 | 采购管理服务 - 采购订单、供应商、入库、退货 | 35 | purchase_db |
| 25 | reconciliation-service | 8018 | 8018 | 对账管理服务 - 账单核对、差异处理 | 27 | erp_db |
| 26 | report-service | 8084 | 8084 | 报表统计服务 - 订单/销售/库存/采购/资金统计 | 28 | erp_db |
| 27 | sku-match-service | 8084 | 8084 | SKU匹配服务 - 平台商品管理、规则匹配、AI匹配 | 23 | erp_db |
| 28 | supplier-service | 8086 | 8086 | 供应商管理服务 - 供应商信息、联系人、银行账户、评级 | 34 | erp_db |
| 29 | system-tool-service | 8087 | 8087 | 系统工具服务 - 配置、日志、监控、数据清理 | 35 | erp_db |
| 30 | warehouse-service | 8084 | 8084 | 云仓服务 - 仓库管理、云仓集成、库存同步 | 53 | erp_db |
| 31 | waybill-service | 8086 | 8086 | 运单服务 - 运单管理、电子面单、打印、状态跟踪 | 16 | erp_db |

**API总计**：约 **620+** 个REST接口

---

## 3. 基础设施

### 3.1 服务注册与配置中心 - Nacos

| 属性 | 值 |
|------|-----|
| 版本 | nacos/nacos-server:v2.2.3 |
| 端口 | 8848（主控）、9848（gRPC）、9849（gRPC） |
| 控制台 | http://localhost:8848/nacos |
| 账号 | nacos / nacos |
| 模式 | 单机模式（开发）/ 集群模式（生产） |

**Nacos配置管理**：
- 共享配置：`common-config.yaml`、`datasource-config.yaml`、`redis-config.yaml`
- 服务专属配置：每个服务有独立的`{service}-config.yaml`
- 命名空间：支持多环境（dev/test/prod）

### 3.2 消息队列 - RocketMQ

| 属性 | 值 |
|------|-----|
| 版本 | apache/rocketmq:5.1.4 |
| Namesrv端口 | 9876 |
| Broker端口 | 10911 |
| 控制台 | http://localhost:8080 |
| 特色 | 支持事务消息、延迟消息、定时消息 |

**主题设计**：
- `erp-order-topic` - 订单事件
- `erp-inventory-topic` - 库存变动
- `erp-notification-topic` - 通知消息
- `erp-payment-topic` - 支付回调

### 3.3 分布式事务 - Seata

| 属性 | 值 |
|------|-----|
| 版本 | seataio/seata-server:1.7.1 |
| TC端口 | 8091 |
| 控制台端口 | 7091 |
| 事务模式 | AT模式 |
| 存储 | DB模式（MySQL） |

**应用场景**：
- 订单创建 + 库存扣减
- 采购入库 + 财务记账
- 多服务数据一致性保障

### 3.4 API网关 - Spring Cloud Gateway

| 属性 | 值 |
|------|-----|
| 端口 | 8080 |
| 路由策略 | Path路径匹配 |
| 鉴权 | JWT Token验证 |
| 限流 | Redis +令牌桶算法 |
| 健康检查 | /actuator/health |

---

## 4. 项目结构

```
erp-java-backend/
│
├── docker-compose.yml                      # 开发环境全量Docker配置
├── docker-compose.cluster.yml              # 集群模式Docker配置
│
├── pom.xml                                 # 父级Maven配置
├── README.md                               # 项目主文档
├── DEVELOPMENT.md                          # 开发指南
├── project-structure.md                    # 项目结构说明
│
├── gateway/                                # API网关（Spring Cloud Gateway）
│   ├── pom.xml
│   ├── README.md
│   ├── src/
│   │   └── main/
│   │       ├── java/com/erp/gateway/
│   │       └── resources/application.yml
│   └── docker/Dockerfile
│
├── common/                                 # 公共模块
│   ├── common-core/                       # 核心工具类、异常、常量
│   ├── common-web/                        # Web响应封装、异常处理
│   ├── common-mybatis/                    # MyBatis Plus配置
│   └── common-redis/                      # Redis配置模板
│
├── services/                               # 31个业务微服务
│   ├── admin-service/                     # 总控服务（租户/套餐）
│   │   ├── src/main/java/com/erp/admin/
│   │   ├── src/main/resources/
│   │   │   ├── bootstrap.yml              # Nacos配置引导
│   │   │   └── application.yml
│   │   ├── Dockerfile
│   │   ├── docker-compose.yml
│   │   ├── k8s/deployment.yaml           # K8s部署配置
│   │   └── README.md
│   │
│   ├── user-service/                      # 用户服务
│   ├── product-service/                   # 商品服务
│   ├── order-service/                     # 订单服务
│   ├── inventory-service/                 # 库存服务
│   ├── finance-service/                   # 财务服务
│   ├── tenant-service/                    # 租户服务
│   ├── customer-service/                  # 客户管理服务
│   ├── supplier-service/                  # 供应商服务
│   ├── purchase-service/                  # 采购服务
│   ├── warehouse-service/                 # 云仓服务
│   ├── logistics-service/                 # 物流服务
│   ├── waybill-service/                   # 运单服务
│   ├── invoice-service/                   # 发票服务
│   ├── aftersale-service/                # 售后管理服务
│   ├── permission-service/               # 权限服务
│   ├── print-service/                    # 打印服务
│   ├── file-service/                     # 文件服务
│   ├── notification-service/             # 通知服务
│   ├── schedule-task-service/            # 定时任务服务
│   ├── report-service/                   # 报表统计服务
│   ├── reconciliation-service/           # 对账服务
│   ├── sku-match-service/                # SKU匹配服务
│   ├── ai-service/                       # AI助手服务
│   ├── approval-flow-service/            # 审核流服务
│   ├── audit-log-service/                # 审计日志服务
│   ├── category-service/                # 分类管理服务
│   ├── dashboard-service/               # 仪表盘服务
│   ├── data-import-export-service/      # 数据导入导出服务
│   ├── system-tool-service/             # 系统工具服务
│   └── api-gateway/                     # API网关（占位）
│
├── infrastructure/                        # 基础设施配置
│   ├── kubernetes/                        # K8s集群配置
│   │   ├── erp-global-infra.yaml         # 全局ConfigMap/Secret/Ingress
│   │   ├── erp-db-init-job.yaml         # 数据库初始化Job
│   │   └── kustomization.yaml           # Kustomization配置
│   ├── mysql/                            # MySQL初始化脚本
│   │   └── init.sql
│   ├── nacos/                            # Nacos配置
│   │   ├── docker-compose.standalone.yml
│   │   ├── docker-compose.cluster.yml
│   │   └── examples/
│   │       ├── shared-config/            # 共享配置（公共/数据源/Redis）
│   │       └── client-config/            # 客户端引导配置
│   ├── redis/                            # Redis配置
│   └── rocketmq/                         # RocketMQ配置
│
├── scripts/                               # 部署脚本
│   ├── init-db.sh                        # 数据库初始化
│   ├── setup-config-center.sh            # 配置中心初始化
│   ├── start-dev.sh                      # 开发环境启动
│   └── update-microservices-config.sh   # 更新微服务配置
│
└── docs/                                  # 文档目录
    ├── DEPLOYMENT.md                      # 部署文档
    ├── 微服务架构与数据库设计报告.md
    ├── database-split-design.md          # 数据库拆分设计
    ├── 前后端功能对比分析.md
    ├── 缺失功能清单.md
    ├── api-docs/                         # API文档
    ├── database/                         # 数据库设计文档
    └── deployment/                       # 部署相关文档
```

---

## 5. 快速启动

### 5.1 环境要求

| 组件 | 版本要求 |
|------|----------|
| JDK | 17+ |
| Maven | 3.8+ |
| Docker | 20.10+ |
| MySQL | 8.0+ |
| Redis | 7.0+ |

### 5.2 Docker Compose 一键启动

```bash
# 进入项目根目录
cd /root/.openclaw/workspace/erp-java-backend

# 启动所有基础设施服务（推荐首次运行）
docker-compose up -d mysql redis nacos rocketmq seata minio elasticsearch

# 启动API网关
docker-compose up -d gateway

# 按需启动业务服务
docker-compose up -d user-service product-service order-service inventory-service

# 查看服务状态
docker-compose ps

# 查看特定服务日志
docker-compose logs -f user-service

# 停止所有服务
docker-compose down
```

### 5.3 全量启动

```bash
# 构建所有镜像
docker-compose build

# 启动全部服务
docker-compose up -d

# 查看健康状态
docker-compose ps
```

### 5.4 开发环境 IDE 启动

```bash
# 1. 启动基础设施
docker-compose up -d mysql redis nacos

# 2. 在IDE中导入项目（根pom.xml）
# 3. 启动顺序：
#    ① Nacos → ② user-service → ③ product-service → ④ order-service → ...

# 4. 访问Nacos控制台确认服务注册
open http://localhost:8848/nacos
```

### 5.5 基础设施访问地址

| 服务 | 地址 | 账号 |
|------|------|------|
| Nacos控制台 | http://localhost:8848/nacos | nacos / nacos |
| RocketMQ控制台 | http://localhost:8080 | - |
| MinIO控制台 | http://localhost:9001 | minioadmin / minioadmin123 |
| SkyWalking UI | http://localhost:8081 | - |
| Elasticsearch | http://localhost:9200 | - |

---

## 6. API文档

### 6.1 Swagger / Knife4j API文档

各服务均集成 Knife4j（增强版Swagger），可通过以下地址访问：

| 序号 | 服务名 | Swagger地址 | 文档模式 |
|------|--------|-------------|---------|
| 1 | gateway | http://localhost:8080/doc.html | Knife4j |
| 2 | admin-service | http://localhost:8081/doc.html | Knife4j |
| 3 | user-service | http://localhost:8082/doc.html | Knife4j |
| 4 | product-service | http://localhost:8083/doc.html | Knife4j |
| 5 | order-service | http://localhost:8082/doc.html (容器内) | Knife4j |
| 6 | inventory-service | http://localhost:8084/doc.html (容器内) | Knife4j |
| 7 | tenant-service | http://localhost:8083/doc.html (容器内) | Knife4j |
| 8 | finance-service | http://localhost:8007/doc.html | Knife4j |
| 9 | customer-service | http://localhost:8086/doc.html | Knife4j |
| 10 | supplier-service | http://localhost:8086/doc.html | Knife4j |
| 11 | purchase-service | http://localhost:8010/doc.html | Knife4j |
| 12 | warehouse-service | http://localhost:8084/doc.html (容器内) | Knife4j |
| 13 | print-service | http://localhost:8089/doc.html | Knife4j |
| 14 | file-service | http://localhost:8082/doc.html (容器内) | Knife4j |
| 15 | report-service | http://localhost:8084/doc.html (容器内) | Knife4j |
| 16 | aftersale-service | http://localhost:8087/doc.html | Knife4j |
| 17 | ai-service | http://localhost:8087/doc.html | Knife4j |
| 18 | approval-flow-service | http://localhost:8086/doc.html | Knife4j |
| 19 | invoice-service | http://localhost:8086/doc.html | Knife4j |
| 20 | logistics-service | http://localhost:8086/doc.html | Knife4j |
| 21 | sku-match-service | http://localhost:8084/doc.html (容器内) | Knife4j |
| 22 | system-tool-service | http://localhost:8087/doc.html | Knife4j |

> **说明**：外部端口映射方式：`http://{主机IP}:{外部端口}/doc.html`
> 内部端口方式需通过API网关统一暴露，或在`docker-compose.yml`中调整端口映射。

### 6.2 网关路由配置

API网关默认路由规则：

```
/api/auth/**     → erp-auth（认证服务）
/api/user/**     → erp-user（用户服务）
/api/admin/**    → erp-admin（总控服务）
/api/product/**  → erp-product（商品服务）
/api/order/**    → erp-order（订单服务）
/api/finance/**  → erp-finance（财务服务）
/api/tenant/**   → erp-tenant（租户服务）
```

---

## 7. 数据库设计

### 7.1 数据库总览

| 数据库名 | 服务 | 字符集 | 连接地址 |
|----------|------|--------|----------|
| `erp_java` | user/product/order/inventory/admin等核心服务 | utf8mb4 | localhost:3307 |
| `erp_db` | 多数业务服务（租户隔离） | utf8mb4 | 111.229.80.149:3306 |
| `erp_task` | 定时任务服务 | utf8mb4 | 111.229.80.149:3306 |
| `erp_audit` | 审计日志服务 | utf8mb4 | localhost:3306 |
| `purchase_db` | 采购服务专属 | utf8mb4 | 111.229.80.149:3306 |

### 7.2 核心数据表（erp_java）

```
erp_java/
├── 用户模块
│   ├── users                 # 用户表
│   ├── roles                 # 角色表
│   ├── permissions           # 权限表
│   ├── user_roles            # 用户角色关联表
│   └── login_logs            # 登录日志
│
├── 商品模块
│   ├── products              # 商品表
│   ├── categories            # 商品分类
│   ├── brands                # 品牌表
│   └── product_skus         # SKU表
│
├── 订单模块
│   ├── orders                # 订单主表
│   ├── order_items           # 订单明细
│   └── order_operations      # 订单操作记录
│
├── 库存模块
│   ├── inventory             # 库存表
│   ├── inventory_logs       # 库存变动日志
│   └── warehouses            # 仓库表
│
└── 公共模块
    ├── tenants               # 租户表
    ├── files                 # 文件表
    └── system_configs        # 系统配置
```

### 7.3 数据库连接配置

**开发环境（Docker Compose）**：
```yaml
Host: mysql (容器内) / localhost:3307 (宿主机)
Database: erp_java
Username: erp_user
Password: erp123456
```

**生产环境（示例）**：
```yaml
Host: 111.229.80.149
Port: 3306
Database: erp_db
Username: root
Password: nihao588+
```

### 7.4 读写分离与分库分表规划

- **读写分离**：订单、商品等高并发表支持读写分离
- **分库策略**：按租户ID分库（tenant_id）
- **分表策略**：订单表按月分表（orders_YYYYMM）
- **NoSQL补充**：Redis缓存热点数据，Elasticsearch支持商品搜索

---

## 8. 部署架构

### 8.1 Kubernetes 部署

所有服务均提供K8s部署配置，位于各服务的 `k8s/deployment.yaml` 或 `kubernetes/deployment.yaml`。

**前置要求**：
- Kubernetes 1.25+
- kubectl已配置
- Ingress Controller（nginx-ingress）
- StorageClass（持久化存储）

**一键部署**：
```bash
# 1. 创建命名空间
kubectl apply -f infrastructure/kubernetes/erp-global-infra.yaml

# 2. 使用Kustomization部署
kubectl apply -k infrastructure/kubernetes/

# 3. 部署业务服务
for svc in user product order inventory tenant; do
  kubectl apply -f services/${svc}-service/k8s/deployment.yaml
done

# 4. 验证部署
kubectl get pods -n erp-prod
kubectl get svc -n erp-prod
kubectl get ingress -n erp-prod
```

### 8.2 HPA 自动扩缩容

所有服务均配置HPA（Horizontal Pod Autoscaler）：

```yaml
spec:
  minReplicas: 3      # 最小3个副本
  maxReplicas: 10    # 最大10个副本
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70   # CPU 70%时扩容
```

### 8.3 PDB 滚动更新保护

```bash
# 查看Pod中断预算
kubectl get pdb -n erp-prod

# 确保滚动更新时最少可用副本
```

### 8.4 生产环境 Ingress 配置

| 服务 | Ingress域名 | 路径 |
|------|------------|------|
| gateway | api.erpzbbh.cn | / |
| user-service | user.erpzbbh.cn | / |
| admin-service | admin.erpzbbh.cn | / |
| product-service | product.erpzbbh.cn | / |
| order-service | order.erpzbbh.cn | / |
| inventory-service | inventory.erpzbbh.cn | / |
| tenant-service | tenant.erpzbbh.cn | / |
| file-service | file.erpzbbh.cn | / |

### 8.5 服务健康检查

| 检查项 | 路径 | 期望状态 |
|--------|------|---------|
| 网关健康 | GET /actuator/health | UP |
| Nacos心跳 | HTTP GET nacos:8848/nacos/ | 200 |
| MySQL连接 | mysqladmin ping | pong |
| Redis连接 | redis-cli ping | PONG |
| Seata事务 | GET seata:8091/health | UP |

---

## 9. 开发规范

### 9.1 命名规范

#### 9.1.1 Java类命名

| 类型 | 规范 | 示例 |
|------|------|------|
| Controller | `{Entity}Controller` | `UserController` |
| Service | `{Entity}Service` | `UserService` |
| ServiceImpl | `{Entity}ServiceImpl` | `UserServiceImpl` |
| Mapper/Repository | `{Entity}Mapper` | `UserMapper` |
| Entity | `{Entity}` | `User` |
| DTO | `{Entity}DTO` | `UserDTO` |
| VO | `{Entity}VO` | `UserVO` |
| Config | `{Entity}Config` | `RedisConfig` |

#### 9.1.2 数据库表命名

- 表名：`{模块}_{实体}`，全小写，下划线分隔
- 示例：`sys_user` `ord_order` `fin_invoice`
- 公共前缀：`sys_`（系统）`ord_`（订单）`fin_`（财务）

#### 9.1.3 API路径命名

- 格式：`/api/{module}/{entity}`
- 示例：`GET /api/user/users` `POST /api/order/orders`
- 分页：`GET /api/product/products/page`

### 9.2 Git规范

#### 9.2.1 分支策略

```
main                    # 生产分支（保护）
├── develop             # 开发主分支
│   ├── feature/xxx     # 功能分支
│   ├── fix/xxx          # 修复分支
│   ├── hotfix/xxx       # 热修复分支
│   └── release/xxx      # 发布分支
```

#### 9.2.2 Commit规范

```
<type>(<scope>): <subject>

# type: feat | fix | docs | style | refactor | test | chore
# scope: 模块名，如 user | order | product
# subject: 简短描述（不超过50字）

示例：
feat(user): 添加用户注册短信验证码功能
fix(order): 修复订单支付超时未释放库存问题
docs(product): 更新商品API文档
```

#### 9.2.3 MR/PR流程

1. 从`develop`创建功能分支
2. 完成开发并自测
3. 提交MR/PR到`develop`
4. 至少1人Code Review通过
5. 合并前运行CI流水线
6. 合并后删除源分支

### 9.3 代码规范

#### 9.3.1 常用注解

```java
// 实体类
@Data                  // Lombok自动生成getter/setter
@TableName("sys_user") // MyBatis Plus表名映射
public class User { }

// Mapper
@Mapper              // MyBatis Mapper接口
public interface UserMapper extends BaseMapper<User> { }

// Service
@Service             // Spring服务注解
@Slf4j               // Lombok日志
public class UserServiceImpl implements UserService { }

// Controller
@RestController      // RESTful控制器
@RequestMapping("/api/user/users")
public class UserController { }
```

#### 9.3.2 统一响应格式

```java
// 成功响应
{
  "code": 200,
  "message": "success",
  "data": { ... }
}

// 失败响应
{
  "code": 400,
  "message": "参数错误",
  "data": null
}
```

#### 9.3.3 分布式事务注解

```java
@GlobalTransactional(name = "erp-order-create", rollbackFor = Exception.class)
public void createOrder(OrderDTO orderDTO) {
    // 订单创建 + 库存扣减 保证原子性
}
```

### 9.4 Docker镜像规范

```dockerfile
# 多阶段构建示例
FROM maven:3.9-eclipse-temurin-17 AS builder
WORKDIR /build
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src ./src
RUN mvn clean package -DskipTests

FROM eclipse-temurin:17-jre-alpine
WORKDIR /app
COPY --from=builder /build/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "-Xms256m", "-Xmx512m", "app.jar"]
```

---

## 10. 后续优化建议

### 10.1 高可用与稳定性

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🔴 高 | **服务注册中心集群** | Nacos生产环境切换为集群模式（3节点），避免单点故障 |
| 🔴 高 | **数据库主从复制** | 搭建MySQL主从复制，实现读写分离，提高查询性能 |
| 🔴 高 | **Seata Server集群** | Seata TC部署为集群模式，保证分布式事务高可用 |
| 🟡 中 | **RocketMQ集群** | 部署多Master多Slave Broker，提高消息可靠性 |
| 🟡 中 | **Redis Sentinel/Cluster** | Redis Sentinel或Cluster模式保证缓存高可用 |
| 🟢 低 | **SkyWalking集群** | 扩大SkyWalking存储集群规模，支持更大追踪数据量 |

### 10.2 性能优化

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🔴 高 | **热点数据缓存** | 对商品信息、分类、配置等热点数据增加Redis二级缓存 |
| 🔴 高 | **分库分表** | 订单表（ord_order）按月分表，解决单表数据量过大问题 |
| 🟡 中 | **Elasticsearch搜索** | 商品搜索、订单搜索接入ES，支持全文检索和分词 |
| 🟡 中 | **接口限流优化** | 网关限流规则细化，按服务+用户维度分别限流 |
| 🟢 低 | **异步化改造** | 非核心流程（日志、通知）全面异步化，提升响应速度 |

### 10.3 安全加固

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🔴 高 | **敏感数据加密** | 用户密码、身份证号、银行卡号等敏感字段AES加密存储 |
| 🔴 高 | **API签名验证** | 对外接口增加RSA签名验签，防止请求篡改 |
| 🟡 中 | **操作日志脱敏** | 审计日志对敏感字段（密码、金额）打码处理 |
| 🟡 中 | **接口幂等性** | 所有写接口增加幂等Token，防止重复提交 |
| 🟢 低 | **HTTPS强制** | 生产环境所有HTTP流量强制跳转HTTPS |

### 10.4 可观测性增强

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🟡 中 | **统一日志平台** | 接入ELK（Elasticsearch+Logstash+Kibana）统一收集所有服务日志 |
| 🟡 中 | **业务监控告警** | 基于SkyWalking自定义业务指标告警（订单量暴跌/库存不足等） |
| 🟡 中 | **链路追踪完善** | 完善跨服务调用链路标记（traceId），实现全链路可观测 |
| 🟢 低 | **压力测试** | 使用JMeter/wrk对核心接口进行常态化压测 |

### 10.5 灰度发布与持续交付

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🟡 中 | **灰度发布** | 接入Nacos配置实现流量灰度（版本权重路由） |
| 🟡 中 | **CI/CD流水线** | 完善Jenkins/GitHub Actions自动化构建-测试-部署流水线 |
| 🟡 中 | **配置热更新** | 所有服务支持Nacos配置热更新，无需重启 |
| 🟢 低 | **蓝绿部署** | K8s蓝绿部署方案，减少发布停机时间 |

### 10.6 文档与知识沉淀

| 优先级 | 优化项 | 说明 |
|--------|--------|------|
| 🟡 中 | **API文档维护** | 建立API文档更新机制，确保文档与代码同步 |
| 🟡 中 | **架构设计文档** | 补充各服务详细设计文档（DDD领域建模） |
| 🟢 低 | **运维手册** | 编写生产环境运维手册（常见问题处理预案） |
| 🟢 低 | **新手指南** | 完善本地开发环境搭建文档，降低接入门槛 |

---

## 附录

### A. 快速命令参考

```bash
# 查看所有服务健康状态
docker-compose ps

# 重启指定服务
docker-compose restart user-service

# 查看服务日志（实时）
docker-compose logs -f order-service

# 进入服务容器调试
docker exec -it erp-user-service /bin/sh

# 重新构建单个服务
docker-compose build --no-cache user-service

# 清理所有容器和卷（慎用）
docker-compose down -v
```

### B. 服务依赖关系图

```
客户端请求
    ↓
[Gateway:8080] ← Nacos(8848) 注册/发现
    ↓
┌─────────────────────────────────────┐
│         核心业务服务                  │
│  user → product → order → inventory │
│    ↓       ↓        ↓         ↓     │
│ tenant  supplier  finance  warehouse │
└─────────────────────────────────────┘
    ↓              ↓
[RocketMQ消息队列]  [Seata分布式事务]
    ↓
[file-service] [notification-service]
              ↓
        [MySQL/Redis]
```

### C. 相关文档链接

| 文档 | 路径 |
|------|------|
| 开发指南 | `DEVELOPMENT.md` |
| 部署文档 | `docs/DEPLOYMENT.md` |
| 数据库设计 | `docs/database-split-design.md` |
| 微服务架构报告 | `docs/微服务架构与数据库设计报告.md` |
| 缺失功能清单 | `docs/缺失功能清单.md` |
| 前后端对比 | `docs/前后端功能对比分析.md` |

---

*📝 本报告由系统自动生成，如有疑问请联系开发团队*
