📌 本页用途
与 index.html 开头的「开发阶段与技术架构迭代(总览)」配套:此处提供按 Phase 拆分的业务架构图(Mermaid),便于评审边界、集成点与数据落点;工时与报价区间仍以总览页为准。
图中「BFF」表示面向各端聚合接口;「领域服务」为逻辑分组,实施时可单体模块化或逐步拆微服务。
Phase 1 · 核心跑腿业务架构(细化)
领域与基础设施 MVP / 日单 < 1 万
用户下单、支付、调度(抢单/派单)、配送状态闭环;管理端订单与骑手管理。
flowchart TB
subgraph C1["端侧"]
U1[用户小程序]
R1[骑手端]
ADM[管理后台 Web]
end
subgraph E1["接入层"]
GW[HTTPS 网关 / Nginx]
end
subgraph A1["应用层"]
BFF[BFF / API 聚合]
subgraph D1["核心领域"]
ORD[订单域]
PAY[支付与账务]
USR[用户与骑手]
DIS[调度与派单]
end
end
subgraph X1["中间件与存储"]
MY[(MySQL 业务库)]
RD[(Redis 缓存与分布式锁)]
MQ1[可选 异步队列]
end
U1 --> GW
R1 --> GW
ADM --> GW
GW --> BFF
BFF --> D1
ORD --> MY
PAY --> MY
USR --> MY
DIS --> MY
BFF --> RD
ORD -.-> MQ1
Phase 2 · 会员与营销域叠加
在 Phase 1 之上扩展 红包 / 积分 / 商城
营销规则、券码、积分账、兑换订单与库存;下单链路需耦合试算与核销。
flowchart LR
subgraph P2C["端侧"]
U2[用户小程序]
end
subgraph P2A["应用层"]
BFF2[BFF]
subgraph MKT["营销域"]
CP[优惠券]
HB[红包]
PT[积分账户]
SHOP[积分商城]
end
ORD2[订单域]
end
subgraph P2D["数据"]
MY2[(MySQL)]
RD2[(Redis)]
end
U2 --> BFF2
BFF2 --> CP
BFF2 --> HB
BFF2 --> ORD2
CP --> MY2
HB --> MY2
PT --> MY2
SHOP --> MY2
ORD2 --> MY2
CP --> RD2
HB --> RD2
ORD2 -->|试算核销| CP
ORD2 -->|试算核销| HB
Phase 3 · 实时位置与监控
轨迹上报、地图展示、调度监控增强
高频写入与地理查询可独立为位置服务;WebSocket/SSE 推送给用户端与管理端地图。
flowchart TB
subgraph P3C["端侧"]
R3[骑手端 GPS]
U3[用户小程序 地图]
M3[管理端 调度地图]
end
subgraph P3S["服务"]
LOC[位置服务 写入与查询]
API3[订单 API]
WS[推送 WS/SSE]
end
subgraph P3D["存储"]
MY3[(MySQL)]
RD3[(Redis Geo 或 热轨迹)]
TS[(可选 时序或轨迹库)]
end
R3 -->|30s 上报| LOC
LOC --> RD3
LOC --> TS
API3 --> MY3
LOC --> WS
WS --> U3
WS --> M3
Phase 4 · 站点与仓储
站点、库存、入出库与调拨
多站点库存台账、WMS 流程;与订单履约可异步联动(预留状态机)。
flowchart TB
subgraph P4ADM["管理端"]
WMS[WMS 入库出库]
ST[站点与库存视图]
end
subgraph P4S["服务"]
WH[仓储域服务]
ORD4[订单域]
end
subgraph P4D["数据"]
MY4[(MySQL)]
end
WMS --> WH
ST --> WH
WH --> MY4
ORD4 -->|预留占库存| WH
Phase 5 · 物流跟踪(可选方案)
运单、节点、全程可视化
可与第三方物流对接或自建节点模型;查询类流量大可走只读副本或搜索引擎。
flowchart LR
subgraph P5E["外部/适配"]
TP[第三方物流 API]
end
subgraph P5S["服务"]
SHP[运单域]
TR[轨迹聚合]
end
subgraph P5D["数据"]
MY5[(MySQL)]
ES[(可选 ES 检索)]
end
TP --> TR
TR --> SHP
SHP --> MY5
SHP --> ES
Phase 6 · 司机 APP 与车辆(可选)
独立司机端、车辆轨迹与围栏
与骑手同城配并行存在时的租户/角色隔离、统一账号或联邦登录需在架构层预留。
flowchart TB
subgraph P6C["端侧"]
DRV[司机 APP]
end
subgraph P6S["服务"]
BFF6[司机 BFF]
VEH[车辆与围栏服务]
ORD6[订单/任务 分派]
end
subgraph P6D["数据"]
MY6[(MySQL)]
LOC6[位置流]
end
DRV --> BFF6
BFF6 --> VEH
BFF6 --> ORD6
VEH --> LOC6
ORD6 --> MY6
技术栈与部署 · 展开表(与总览一致)
🚀 技术栈演进
| 阶段 | 后端语言 | 优势 | 适用场景 | 日订单量 |
| Phase 1-2 | Python/FastAPI | 快速开发/迭代 | MVP/验证业务 | <10,000 |
| Phase 3-4 | Python + Go | 高并发/性能 | 中等规模/增长期 | 10,000-100,000 |
| Phase 5-6 | Go + Java | 集群/高可用 | 大规模/企业级 | >100,000 |
部署形态对照
Phase 1
Nginx → API×2 → MySQL 主从、Redis、MinIO
Phase 3
gRPC + ETCD、Kafka、Jaeger、K8s;服务按域拆分
Phase 5+
多集群、Kong/APISIX、Kafka 总线、TiDB、ES/ClickHouse