为什么订单中心一定会出现?一次真实复杂业务下的思考

26 阅读5分钟

这是《复杂业务下的订单中心演进实践》系列的第 1 篇。

本系列将基于一次真实的订单中心重构经历,系统性拆解:

订单中心为什么会出现、该承担什么能力、以及如何在复杂业务中持续演进。


一、很多文章里的“订单系统”,一开始就不真实

在不少技术文章中,订单系统的起点往往是这样的:

  • 一个订单表

  • 下单 → 同步调用 ERP

  • 成功 or 失败

但在真实的企业级业务中,订单系统几乎从来不是这样演进的

至少在我们的业务里,一开始面对的,就不是一个“简单订单系统”,而是一个从诞生之初就高度复杂的局面


二、真实的业务起点:订单从一开始就“各玩各的”

1️⃣ 线下业务先行:ERP 本身就是订单系统

最早的订单来自线下地推业务:

  • 业务员拜访药店

  • 代客户下单

  • 订单直接录入流通 ERP

这一阶段:

  • 没有统一订单入口

  • 没有统一订单模型

  • ERP 本身承担了订单的全部职责

可以理解为:

订单系统 = ERP


2️⃣ 线上渠道出现:订单开始分流

随着业务发展,线上渠道逐步上线:

  • 商城

  • App

  • 微信小程序

客户开始可以自行下单。

但问题在于:

这些渠道并不是通过一个统一的订单系统接入的,而是各自实现了一套下单逻辑,各自对接下游系统。


3️⃣ 业务线拆分:复杂度真正爆发的起点

医药行业本身的特点,订单天然就分为多条业务线:

  • 西药

  • 医美

  • 器械

  • 中药

  • 管控类

同时叠加:

  • 药店经营类型不同

  • 客户资质不同

  • 可售商品范围不同

📌 同一个客户,在不同业务线、不同渠道,看到的商品、价格、库存规则完全不同。


4️⃣ 多 ERP 并存:复杂度指数级上升

在商品维度上,又进一步区分出:

  • 自营商品 → 流通 ERP

  • 合营商品 → 线上 ERP

最终形成的真实现状是:

多个渠道 × 多个系统 × 多条业务线 × 多套 ERP

全部直连

任何一个变化,都会牵一发而动全身。


三、真正的问题:复杂性被错误地分摊了

这个阶段,我们开始频繁遇到一些问题:

  • 渠道系统需要知道商品是自营还是合营

  • 渠道系统需要感知 ERP 的差异

  • 下发失败、重试、补偿逻辑散落在各个系统

表面看是“系统复杂”,但本质上是一个更深层的问题:

订单的复杂性,被错误地分摊给了渠道系统。

而渠道系统,本不应该承担这些职责。


四、订单中心的出现:不是“多一个系统”,而是“换一种边界划分”

在这种背景下,我们开始引入订单中心。

但订单中心并不是为了:

  • 抽象一个统一订单表

  • 做一个“更大的下单接口”

而是为了完成一件更重要的事情:

把“订单相关的业务决策”,从渠道系统中收回来。


一个非常贴切的类比:斗拱支付

商户在接入支付时,不应该关心:

  • 银行接口差异

  • 支付渠道的失败重试

  • 对账、清算、补偿

所以有了斗拱支付。

而在我们的业务中:

订单中心,扮演的正是“订单领域里的斗拱”。

  • 对上,统一承接各类订单渠道
  • 对下,屏蔽不同 ERP 的差异
  • 中间,负责订单的路由与决策

五、在这种业务背景下,订单中心必须承载什么?

在多渠道、多业务线、多 ERP 并行的情况下,订单中心至少需要具备以下能力。


1️⃣ 统一订单语义,而不是统一字段

订单中心的第一职责,不是设计一个“通用订单表”,而是:

让公司内部对“什么是一张订单”达成共识。

例如:

  • 商品归属(自营 / 合营)

  • 所属公司主体

  • 库存策略

  • 下游执行方式

这些语义,不能再由渠道系统各自理解。


2️⃣ 承担订单路由与业务决策责任

订单中心真正需要回答的问题是:

这张订单,应该由哪个系统来执行?

而不是:

“接口有没有调用成功?”


3️⃣ 隔离渠道与 ERP 的演进节奏

  • 渠道变化快

  • ERP 变化慢

  • 业务规则变化最频繁

订单中心,正是这三者之间的缓冲层


六、为什么要按这些维度去设计?

这些设计维度并不是“架构师拍脑袋想出来的”,而是业务自然逼出来的结果

设计维度来源
商品归属多 ERP 并存
库存策略是否共享分公司库存
订单路由下游执行差异
状态机下发必然失败
幂等多渠道高并发

七、这样设计的好处是什么?

对上游渠道

  • 接口稳定
  • 不感知 ERP 差异
  • 新业务线接入成本低

对下游 ERP

  • 单一职责,只负责执行
  • 不感知渠道复杂性
  • 失败可控、可追溯

对系统整体演进

  • 新渠道 = 新 Adapter
  • 新 ERP = 新路由实现
  • 核心模型长期稳定

八、结语

当一个系统开始面对

多渠道、多业务线、多 ERP 并行

那么订单中心就不再是“可选项”,

而是唯一还能继续演进的形态

在下一篇中,我会继续拆解:

👉 订单中心到底应该具备哪些核心能力,又有哪些能力不应该放进去。