开发者社区> 问答> 正文

AT 模式的运行机制是什么?

AT 模式的运行机制是什么?

展开
收起
游客vvhuafakamuxq 2022-05-09 14:35:58 418 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • 全局事务依然是基于各个分支事务来完成。Seata Server 协调各个分支事务要么一起提交,要么一起回滚。 各个分支事务在运行时,Seata Client 通过对 SQL 执行的代理和拦截,通过解析 SQL 定位到行记录,记录下 SQL 执行前后的行数据快照,beforeImage 和 afterImage 共同构成了回滚日志,回滚日志记录在独立的表中。回滚日志的写入和业务数据的更改在在同一个本地事务中提交。 分支事务完成后,立即释放对本地资源的锁,然后给 Seata 协调器上报事务执行的结果。 Seata 协调器汇总各个分支事务的完成情况,生成事务提交或者回滚的决议,将决议下发给 Seata Client。 如果决议是提交事务,则 Seata Client 异步清理回滚日志;如果决议是回滚事务,则 Seata Client 根据回滚日志进行补偿操作,补偿前会对比当前数据快照和 afterImage 是否一致,如果不一致则回滚失败,需要人工介入。

    2022-05-09 18:12:14
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
Swoole2.0原生协程高性能开发实践 立即下载
fibjs 模块重构从回调到协程 立即下载
Android开发之多进程架构 立即下载