Seata AT模式
介绍
Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,旨在简化分布式事务的管理。Seata提供了多种事务模式,其中**AT模式(Automatic Transaction Mode)**是最常用的一种。AT模式通过自动补偿机制,实现了分布式事务的最终一致性,适合大多数业务场景。
AT模式的核心思想是:在业务方法执行时,自动记录事务的前置镜像(Before Image)和后置镜像(After Image),并在事务提交或回滚时,根据这些镜像数据自动完成补偿操作。
AT模式的工作原理
AT模式的工作流程可以分为以下几个步骤:
- 事务开始:全局事务开始时,Seata会生成一个全局事务ID(XID),并将其传播到所有参与事务的服务中。
- 执行业务SQL:在每个参与事务的服务中,执行业务SQL时,Seata会拦截SQL并记录前置镜像和后置镜像。
- 提交本地事务:每个服务提交本地事务时,Seata会将事务日志(包括前置镜像和后置镜像)保存到事务日志表中。
- 全局提交或回滚:如果所有本地事务都成功提交,Seata会通知所有服务提交全局事务;如果有任何一个本地事务失败,Seata会根据事务日志中的镜像数据自动执行补偿操作。