分布式事物的解决方案

xiaojiuaigc@163.com 发布于 2024-11-01 432 次阅读


常见的解决方案

  • Seata框架(XA、AT、TCC)
  • MQ

Seata事务管理中有三个重要的角色:

  • TC (Transaction Coordinator) – 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。
  • TM (Transaction Manager) – 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。
  • RM (Resource Manager) – 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

描述项目中采用的哪种方案(seata | MQ)

  1. seata的XA模式,CP,需要互相等待各个分支事务提交,可以保证强一致性,性能差(银行)
  2. seata的AT模式,AP,底层使用undo log 实现,性能好(互联网)
  3. seata的TCC模式,AP,性能较好,不过需要人工编码实现(银行)
  4. MQ模式实现分布式事务,在A服务写数据的时候,需要在同一个事务内发送消息到另外一个事务,异步,性能最好(互联网)