分布式事务Seata

223 阅读1分钟

Seata架构

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

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

image.png

Seata提供了四种不同的分布式事务解决方案:

  • XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入

  • TCC模式:最终一致的分阶段事务模式,有业务侵入

  • AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式

  • SAGA模式:长事务模式,有业务侵入

XA模式

d7fec5fc4aff648b5a844a361a6fba63.png

e3fef9f40cf2327e984366ae4fbc1d5c.png

TCC模式

f11194efbe0734e233d3d1b3dd85884a.png

9b0e6052fe461fc60124ecba757d7f05.png

a7ae54f5320d3d02be7997c951bd0ac9.png

AT模式

1d790bf72f9bf2a3fd31f90e26c6f606.png

3bc1034de1ff265f84aea84b5b1f5e25.png

93da29a18e4cb56073ed5a33672b3fa8.png

a39498f21c9241e053c938342531846b.png

SAGA模式

长连接事务。

c491b30a3dbb58ff51c62b1bd160db37.png

总结

四种模式各有各的特点,在合适的场景选择合适的模式才是正确的选择。