架构
为什么你的店铺必须有一层「履约抽象」
2026-10-08 · 6 分钟阅读
症状:换一次供应商,改一半代码
大部分自动发货站的写法是:在下单函数里直接 fetch 某家的接口,把返回值拼到自己页面上。问题很快就暴露——
- 商品文案、库存口径、结算顺序混在一起,改一处动全身。
- 上游返回结构一变,页面跟着崩。
- 想同时接两家做比价?只能在 if/else 里堆屎山。
正确的切法:五件事
不论上游长什么样,它对你的系统只需要提供五种能力:
- 拉目录:有哪些货、什么价、还有没有。
- 查库存:下单前确认。
- 下单:带幂等键。
- 查单:异步结果的兜底。
- 回调:异步结果的主路径。
把这五件事抽象成接口,剩下的差异(路径、字段名、签名算法、缺货怎么表达)全部降级成配置项。
收益
- 新增供应商 = 新增一份环境变量,业务代码零改动。
- 上游挂了,可以退化到缓存目录,页面不白屏。
- 可以在多个供应商之间做路由:谁便宜、谁有货、谁响应快,就发给谁。