Skip to content
极高困难

一句话答案

强一致用 2PC/XA,最终一致用 TCC/SAGA/本地消息表/事务消息,根据业务容忍度选择,推荐事务消息。

核心要点
方案一致性性能侵入
2PC/XA
TCC最终
SAGA最终
事务消息最终低(推荐)

推荐: 非核心用事务消息,核心资金用TCC

追问与易错

追问方向:

  • 你们项目用了哪种分布式事务?为什么选它?
  • 2PC 的协调者单点怎么解决?(主备/Paxos 选举)
  • 事务消息和本地消息表的区别?(事务消息不需要额外的消息表和轮询)

易错点:

  • ❌ "分布式事务一定要强一致"——大部分业务场景最终一致就够了
  • ❌ 不考虑补偿/对账机制——任何方案都可能有异常,需要兜底

💡 记忆锚点

选型口诀:资金核心用TCC(手动挡高性能)、普通业务用事务消息(低侵入推荐)、长链路用SAGA(逆序补偿)、传统系统用2PC/XA(强一致但慢)。记住大多数业务最终一致就够了,别上来就追求强一致。