金融转账“幽灵失败“排查实录:从本地消息表到 Seata TCC 的选型与权衡2024 年 Q3,我们负责的某城商行互联网核心系统上线了 II 类户跨行转账功能。业务量不大,日均交易约 12 万笔,峰值 QPS 约 800。上线两周后,运营反馈一个异常现象:用户收到扣款短信,但收款方迟迟不到账,客服工单日均 40+ 起,投诉率环比上升 0.3 个百分点。 排查发现,问题集中在转账链路的"记账 + 通知"环节。我们的转账服务调用链是:账户服务(扣款)→ 账务流水落库 → 消息服务(发通知)。最初实现是本地事务 + 异步消息:扣款和流水在同一个本地事务里提交,然后通过 MQ 异步通知下