三方物流平台-OMS系统架构设计方案
目标类型描述高可用支持高并发、低延迟的订单处理能力可扩展模块化设计,支持业务快速迭代易维护清晰的架构分层,便于运维和故障排查数据安全多租户数据隔离,符合合规要求性能卓越订单处理能力≥10000单/秒。
文档信息
|
属性 |
值 |
|---|---|
|
文档版本 |
V0.1 |
|
创建日期 |
2026-05-22 |
|
适用范围 |
|
|
核心定位 |
OMS系统架构设计与技术实现指导 |
|
技术栈 |
YuDao-Cloud + MateClaw |
|
技术框架 |
Spring Cloud 2023.0.x + Spring Boot 3.2.x |
一、架构概述
1.1 设计目标
|
目标类型 |
描述 |
|---|---|
|
高可用 |
支持高并发、低延迟的订单处理能力 |
|
可扩展 |
模块化设计,支持业务快速迭代 |
|
易维护 |
清晰的架构分层,便于运维和故障排查 |
|
数据安全 |
多租户数据隔离,符合合规要求 |
|
性能卓越 |
订单处理能力≥10000单/秒 |
1.2 架构原则
|
原则 |
描述 |
|---|---|
|
单一职责 |
每个模块只负责一个核心功能 |
|
松耦合 |
模块间通过接口通信,降低依赖 |
|
高内聚 |
相关功能集中在同一模块 |
|
可观测 |
完善的日志、监控、告警体系 |
|
容错设计 |
故障隔离、降级处理、熔断机制 |
1.3 业务定位与运营目标
基于城市配送/ToB计划物流的核心定位,OMS系统需支撑以下运营目标:
|
运营目标 |
描述 |
量化指标 |
|---|---|---|
|
仓运配一体化 |
干线运输与城配无缝衔接,实现端到端履约 |
订单履约时效提升30% |
|
ToB计划配送 |
基于时间窗的计划性配送,满足门店定时补货需求 |
准时送达率≥99% |
|
逆向物流闭环 |
门店退货、换货、召回全流程管理 |
逆向订单处理周期≤24小时 |
|
多仓协同 |
区域仓、前置仓、门店仓库存共享与调度 |
库存周转率提升25% |
|
运力优化 |
智能匹配干线与城配运力资源 |
装载率≥85% |
二、系统架构设计
2.1 技术架构图
flowchart TD
subgraph 接入层
A[YuDao Gateway API网关]
B[Nginx负载均衡]
C[YuDao Auth身份认证]
end
subgraph YuDao Cloud微服务层
D[oms-order订单服务]
E[oms-inventory库存服务]
F[oms-route路由服务]
G[oms-workorder工单服务]
H[oms-report报表服务]
I[oms-message消息服务]
J[oms-tub ToB计划配送服务]
K[oms-reverse逆向物流服务]
L[oms-integrated仓运配协同服务]
M[oms-capacity运力调度服务]
N[MateClaw低代码平台]
end
subgraph 中间件层
O[Nacos配置中心]
P[Sentinel熔断降级]
Q[Seata分布式事务]
end
subgraph 数据层
R[MySQL主库]
S[MySQL从库]
T[Redis Cluster缓存]
U[MongoDB文档存储]
V[Elasticsearch搜索]
W[RocketMQ消息队列]
end
subgraph 外部系统
X[WMS仓储管理]
Y[TMS运输管理]
Z[BMS计费管理]
AA[ERP企业资源]
AB[电商平台]
AC[电子口岸]
end
A --> D
A --> E
A --> F
A --> G
A --> H
A --> I
A --> J
A --> K
A --> L
A --> M
A --> N
D --> R
E --> R
F --> R
G --> R
H --> V
I --> W
J --> R
K --> R
L --> R
M --> R
D --> X
D --> Y
D --> Z
D --> AA
D --> AB
D --> AC
2.2 模块划分
|
模块 |
职责描述 |
核心功能 |
|---|---|---|
|
订单服务 |
订单全生命周期管理 |
订单创建、审核、分配、履约、完成 |
|
库存服务 |
库存管理与预占 |
库存查询、预占、释放、预警 |
|
路由服务 |
智能分仓与路径规划 |
订单分流、仓库分配、线路规划 |
|
工单服务 |
异常工单管理 |
工单创建、分配、跟踪、闭环 |
|
报表服务 |
数据分析与可视化 |
多维度报表、实时看板 |
|
消息服务 |
消息推送与通知 |
状态变更通知、预警推送 |
|
认证服务 |
身份认证与权限管理 |
用户认证、角色权限、数据隔离 |
|
配置服务 |
系统配置管理 |
规则配置、参数管理 |
|
ToB计划配送服务 |
时间窗计划配送管理 |
配送计划编排、时间窗分配、波次调度 |
|
逆向物流服务 |
门店逆向订单管理 |
退货申请、质检验收、退款结算 |
|
仓运配协同服务 |
干线与城配衔接 |
干线运输调度、城配衔接、在途监控 |
|
运力调度服务 |
运力资源管理 |
承运商管理、运力匹配、装载优化 |
2.3 核心业务流程
2.3.1 订单创建流程
sequenceDiagram
participant Client as 客户端
participant API as API网关
participant Order as 订单服务
participant Stock as 库存服务
participant DB as 数据库
Client->>API: 创建订单请求
API->>API: 身份认证
API->>Order: 订单创建
Order->>Order: 订单校验
Order->>Stock: 库存预占请求
Stock->>DB: 查询库存
DB-->>Stock: 返回库存信息
Stock->>Stock: 库存预占
Stock-->>Order: 预占成功
Order->>DB: 保存订单
DB-->>Order: 保存成功
Order-->>API: 返回订单信息
API-->>Client: 返回成功
2.3.2 订单分配流程
sequenceDiagram
participant Order as 订单服务
participant Router as 路由服务
participant WMS as WMS系统
participant DB as 数据库
Order->>Router: 订单分配请求
Router->>DB: 查询库存分布
DB-->>Router: 返回库存信息
Router->>Router: 智能分仓算法
Router-->>Order: 返回分配结果
Order->>DB: 更新订单状态
Order->>WMS: 下发订单
WMS-->>Order: 接收成功
三、数据架构
3.1 数据库设计
3.1.1 核心表结构
|
表名 |
描述 |
核心字段 |
|---|---|---|
|
|
订单主表 |
order_id, order_no, status, create_time |
|
|
订单项表 |
item_id, order_id, sku_id, quantity |
|
|
库存表 |
sku_id, warehouse_id, quantity, reserved_qty |
|
|
仓库表 |
warehouse_id, name, type, capacity |
|
|
工表单 |
work_order_id, order_id, type, status |
|
|
用户表 |
user_id, tenant_id, role, status |
|
|
规则表 |
rule_id, type, conditions, actions |
3.1.2 索引设计
|
表名 |
索引字段 |
索引类型 |
用途 |
|---|---|---|---|
|
orders |
order_no |
UNIQUE |
订单号查询 |
|
orders |
status, create_time |
COMPOSITE |
订单列表查询 |
|
order_items |
order_id |
INDEX |
订单项查询 |
|
inventory |
sku_id, warehouse_id |
COMPOSITE |
库存查询 |
|
work_orders |
order_id, status |
COMPOSITE |
工单查询 |
3.2 缓存策略
|
缓存类型 |
缓存内容 |
过期时间 |
更新策略 |
|---|---|---|---|
|
库存缓存 |
商品库存信息 |
5分钟 |
库存变更时更新 |
|
规则缓存 |
路由规则、分仓规则 |
1小时 |
规则变更时更新 |
|
用户缓存 |
用户信息、权限 |
30分钟 |
用户变更时更新 |
|
配置缓存 |
系统配置参数 |
24小时 |
配置变更时更新 |
3.3 消息队列设计
|
队列名称 |
用途 |
消息类型 |
处理方式 |
|---|---|---|---|
|
order_created |
订单创建通知 |
订单信息 |
异步处理后续流程 |
|
order_updated |
订单状态变更 |
状态变更信息 |
通知相关系统 |
|
inventory_changed |
库存变更通知 |
库存变化信息 |
更新缓存 |
|
work_order_created |
工单创建通知 |
工单信息 |
通知处理人员 |
四、接口设计
4.1 接口规范
|
属性 |
规范 |
|---|---|
|
协议 |
HTTP/HTTPS |
|
格式 |
JSON |
|
编码 |
UTF-8 |
|
认证 |
OAuth2.0/JWT |
|
版本 |
RESTful API版本控制 |
4.2 核心接口列表
4.2.1 订单接口
|
API路径 |
HTTP方法 |
描述 |
所属模块 |
|---|---|---|---|
|
/api/v1/orders |
POST |
创建订单 |
订单服务 |
|
/api/v1/orders |
GET |
查询订单列表 |
订单服务 |
|
/api/v1/orders/{id} |
GET |
查询订单详情 |
订单服务 |
|
/api/v1/orders/{id} |
PUT |
更新订单 |
订单服务 |
|
/api/v1/orders/{id}/cancel |
POST |
取消订单 |
订单服务 |
|
/api/v1/orders/{id}/split |
POST |
拆分订单 |
订单服务 |
4.2.2 库存接口
|
API路径 |
HTTP方法 |
描述 |
所属模块 |
|---|---|---|---|
|
/api/v1/inventory |
GET |
查询库存 |
库存服务 |
|
/api/v1/inventory/reserve |
POST |
库存预占 |
库存服务 |
|
/api/v1/inventory/release |
POST |
释放库存 |
库存服务 |
|
/api/v1/inventory/adjust |
POST |
库存调整 |
库存服务 |
4.2.3 路由接口
|
API路径 |
HTTP方法 |
描述 |
所属模块 |
|---|---|---|---|
|
/api/v1/routes/allocate |
POST |
订单分配 |
路由服务 |
|
/api/v1/routes/rules |
GET |
查询路由规则 |
路由服务 |
|
/api/v1/routes/rules |
POST |
创建路由规则 |
路由服务 |
4.3 外部系统接口
|
系统 |
接口类型 |
说明 |
|---|---|---|
|
WMS |
REST API |
订单下发、库存同步、出库回传 |
|
TMS |
REST API |
运输任务、轨迹同步、签收回传 |
|
BMS |
REST API |
账单生成、对账数据 |
|
ERP |
REST API |
订单同步、库存同步 |
|
电商平台 |
REST API/消息队列 |
订单拉取、发货回传 |
|
电子口岸 |
REST API |
报关数据、清关状态 |
五、部署架构
5.1 部署架构图
flowchart TD
subgraph 外网层
A[CDN]
B[Nginx负载均衡]
end
subgraph 接入层
C[YuDao Gateway集群]
end
subgraph 应用层
D[oms-order订单服务]
E[oms-inventory库存服务]
F[oms-route路由服务]
G[oms-workorder工单服务]
H[oms-report报表服务]
I[oms-message消息服务]
J[oms-tub TUB计划配送]
K[oms-reverse逆向物流]
L[oms-integrated长运配协同]
M[oms-capacity运力调度]
N[MateClaw低代码平台]
end
subgraph 中间件层
O[Nacos配置中心]
P[Sentinel控制台]
Q[Seata事务中心]
end
subgraph 数据层
R[MySQL主从集群]
S[Redis Cluster]
T[MongoDB集群]
U[Elasticsearch集群]
V[RocketMQ集群]
end
subgraph 基础设施
W[Prometheus+Grafana监控]
X[ELK日志系统]
Y[Jenkins CI/CD]
Z[SkyWalking链路追踪]
end
A --> B
B --> C
C --> D
C --> E
C --> F
C --> G
C --> H
C --> I
C --> J
C --> K
C --> L
C --> M
C --> N
D --> R
E --> R
F --> R
G --> R
H --> U
I --> V
D --> S
E --> S
D --> O
E --> O
F --> O
5.2 环境配置
|
环境 |
用途 |
配置说明 |
|---|---|---|
|
开发环境 |
开发调试 |
单节点部署 |
|
测试环境 |
功能测试 |
模拟生产配置 |
|
预发布环境 |
上线前验证 |
与生产一致配置 |
|
生产环境 |
正式运行 |
高可用集群配置 |
5.3 资源规划
更多推荐


所有评论(0)