跳到主要内容
佳益手记

企业博客

技术专栏 · 发布 2026年3月27日

跨服务一致性:补偿比事务更现实

分布式事务听起来完备,实际项目中更常用的是可补偿的业务流程。

当一次业务操作要同时写入订单系统、库存系统和财务系统时,强一致很难做到。我们的做法是先承认这一点,然后设计一套能够发现并修复不一致的机制。

三个务实原则

每一步都可追溯:记录操作时间、结果和请求号,出现不一致时能定位到具体环节。

关键状态用最终一致:扣库存失败要能自动重试,重试失败进入人工处理队列。

对账兜底:每天跑一次跨系统数据核对,发现差异自动生成工单,而不是等客户投诉。

一个真实例子

订单支付成功后调用库存服务超时,订单已置为已支付,库存却没有扣减。我们的处理是把库存变更写入消息,消费端幂等重试,超过阈值后告警。

这套机制上线半年,自动修复了十几起不一致,没有一次需要人工介入。

分布式系统一定会有短暂不一致。设计的目标不是永不出错,而是出错后能被发现并被修复。

返回博客列表

想把文章里的方法用到您的项目里?

我们乐于分享更多实施细节,也欢迎您带着具体问题与我们交流。

开始一次对话 →
— 编辑部 · 佳益方圆EST. 2019 · JYFY