# ERP微服务架构与数据库设计报告 ## 文档信息 - **项目名称**:ERP Java微服务系统 - **版本**:V1.0 - **日期**:2026-04-04 - **微服务数量**:23个 - **数据库数量**:13个 --- ## 一、总体架构 ### 1.1 微服务列表 | 序号 | 服务名称 | 服务说明 | 端口 | 数据库 | |------|----------|----------|------|--------| | 1 | user-service | 用户服务 | 8081 | user_db | | 2 | order-service | 订单服务 | 8082 | order_db | | 3 | product-service | 商品服务 | 8083 | product_db | | 4 | inventory-service | 库存服务 | 8084 | inventory_db | | 5 | warehouse-service | 仓库服务 | 8085 | warehouse_db | | 6 | finance-service | 财务服务 | 8086 | finance_db | | 7 | customer-service | 客户管理 | 8087 | customer_db | | 8 | supplier-service | 供应商管理 | 8088 | supplier_db | | 9 | purchase-service | 采购管理 | 8089 | purchase_db | | 10 | invoice-service | 发票服务 | 8090 | invoice_db | | 11 | notification-service | 通知服务 | 8091 | notification_db | | 12 | ai-service | AI服务 | 8092 | ai_db | | 13 | file-service | 文件服务 | 8093 | file_db | | 14 | permission-service | 权限服务 | 8094 | permission_db | | 15 | tenant-service | 租户服务 | 8095 | tenant_db | | 16 | approval-flow-service | 审批流服务 | 8096 | approval_db | | 17 | reconciliation-service | 对账服务 | 8097 | reconciliation_db | | 18 | report-service | 报表服务 | 8098 | report_db | | 19 | dashboard-service | 仪表盘服务 | 8099 | dashboard_db | | 20 | system-tool-service | 系统工具服务 | 8100 | system_tool_db | | 21 | admin-service | 超级管理员服务 | 8101 | admin_db | | 22 | category-service | 分类服务 | 8102 | category_db | | 23 | api-gateway | API网关 | 8000 | 无(路由) | --- ## 二、数据库详细设计 ### 2.1 user_db(用户服务) **服务**:user-service **主要表**: - users(用户表) - roles(角色表) - permissions(权限表) - user_roles(用户角色关联) - login_logs(登录日志) **核心字段**:id, username, password, email, phone, status, created_at --- ### 2.2 order_db(订单服务) **服务**:order-service **主要表**: - orders(订单主表) - order_items(订单明细) - order_logs(订单操作日志) - settlement_reports(结算报表) - order_settlements(订单结算) **核心字段**:order_no, customer_id, total_amount, status, created_at --- ### 2.3 product_db(商品服务) **服务**:product-service **主要表**: - goods(商品表) - brands(品牌表) - categories(分类表) - goods_sku(SKU规格) **核心字段**:goods_no, name, price, stock, status --- ### 2.4 warehouse_db(仓库服务) **服务**:warehouse-service **主要表**: - stock(库存表) - stock_logs(库存流水) - warehouses(仓库表) - locations(库位表) - inbound_order(入库单) - outbound_order(出库单) - transfer_order(调拨单) - stock_alert_config(预警配置) - stock_alert_notification(预警通知) **核心字段**:sku_id, warehouse_id, quantity, locked, reserved --- ### 2.5 finance_db(财务服务) **服务**:finance-service **主要表**: - finance_transactions(财务流水) - account_balances(账户余额) - payments(付款记录) - receipts(收款记录) **核心字段**:transaction_no, type, amount, balance_before, balance_after --- ### 2.6 customer_db(客户管理) **服务**:customer-service **主要表**: - customers(客户表) - customer_contacts(联系人) - customer_addresses(地址) - customer_follow_ups(跟进记录) - customer_relationships(客户关系) - customer_statistics(统计) **核心字段**:customer_no, name, level, phone, address --- ### 2.7 supplier_db(供应商管理) **服务**:supplier-service **主要表**: - suppliers(供应商表) - supplier_contacts(供应商联系人) - supplier_bank_accounts(银行账户) - supplier_ratings(评级记录) - inquiry_sheets(询价单) **核心字段**:supplier_no, name, contact, phone, status --- ### 2.8 purchase_db(采购管理) **服务**:purchase-service **主要表**: - purchase_orders(采购订单) - purchase_inbound(采购入库) - purchase_return(采购退货) - suppliers(供应商) **核心字段**:purchase_no, supplier_id, total_amount, status --- ### 2.9 invoice_db(发票服务) **服务**:invoice-service **主要表**: - invoices(发票表) - invoice_items(发票明细) **核心字段**:invoice_no, customer_id, amount, type, status --- ### 2.10 notification_db(通知服务) **服务**:notification-service **主要表**: - notifications(通知消息) - notification_templates(模板) **核心字段**:title, content, type, recipient, status --- ### 2.11 ai_db(AI服务) **服务**:ai-service **主要表**: - ai_conversations(对话记录) - ai_messages(消息记录) - ai_usage_logs(用量日志) **核心字段**:conversation_id, model, prompt, response --- ### 2.12 file_db(文件服务) **服务**:file-service **主要表**: - files(文件表) - file_groups(文件分组) **核心字段**:file_name, file_path, file_size, mime_type --- ### 2.13 其他数据库 | 数据库 | 服务 | 主要表 | |--------|------|--------| | permission_db | permission-service | roles, permissions | | tenant_db | tenant-service | tenants, packages | | approval_db | approval-flow-service | audit_rules, audit_logs | | reconciliation_db | reconciliation-service | reconciliation_bills | | report_db | report-service | data_exports | | dashboard_db | dashboard-service | dashboard_configs | | system_tool_db | system-tool-service | system_configs, operation_logs | --- ## 三、技术栈 ### 3.1 后端技术 - **框架**:Spring Boot 3.2 / Spring Cloud Alibaba - **ORM**:MyBatis-Plus 3.5 - **注册中心**:Nacos - **配置中心**:Nacos - **消息队列**:RocketMQ - **分布式事务**:Seata(AT模式) - **API网关**:Spring Cloud Gateway - **数据库**:MySQL 8.0 - **缓存**:Redis ### 3.2 基础设施 - **容器化**:Docker + Kubernetes - **监控**:SkyWalking - **日志**:ELK Stack - **对象存储**:MinIO --- ## 四、服务间调用关系 ``` 客户端 ↓ API Gateway(认证、限流、路由) ↓ ┌─────────────────────────────────────────┐ │ 业务微服务层 │ ├─────────────────────────────────────────┤ │ user-service ←→ permission-service │ │ order-service ←→ inventory-service │ │ order-service ←→ finance-service │ │ order-service ←→ warehouse-service │ │ purchase-service ←→ supplier-service │ │ purchase-service ←→ warehouse-service │ │ purchase-service ←→ finance-service │ │ customer-service ←→ order-service │ └─────────────────────────────────────────┘ ↓ 分布式事务(Seata) ↓ 消息队列(RocketMQ) ``` --- ## 五、部署架构 ### 5.1 Kubernetes部署 - 每个微服务独立Deployment - HPA自动扩缩容 - 探针健康检查 - 资源限制(CPU/内存) ### 5.2 数据库部署 - 每个数据库独立Pod - 主从复制 - 定期备份 --- ## 六、后续规划 1. **服务合并**:考虑将小服务合并,减少服务数量 2. **读写分离**:对订单、商品等大表做读写分离 3. **分库分表**:对超大数据量表做分片 4. **缓存优化**:增加Redis缓存,减少数据库压力 5. **API文档**:完善Swagger/OpenAPI文档 --- **文档生成时间**:2026-04-04 **生成人**:丫头AI助手