# 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: 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 { } // 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` | --- *📝 本报告由系统自动生成,如有疑问请联系开发团队*