Edehuag

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Seata AT

请描述seata AT模式的前提条件和整体的机制

基于ACID的关系型数据库
java应用通过JDBC访问数据库

两阶段提交协议的演变:
一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。
二阶段:
提交异步化,非常快速地完成。
回滚通过一阶段的回滚日志进行反向补偿。

请描述seata AT模式一阶段的详细步骤

1,解析 SQL:得到 SQL 的类型(UPDATE),表(product),条件等相关的信息。
2,查询前镜像:根据解析得到的条件信息,生成查询语句,定位数据。
3,执行业务 SQL
4,查询后镜像:根据前镜像的结果,通过 主键 定位数据。
5,插入回滚日志:把前后镜像数据以及业务 SQL 相关的信息组成一条回滚日志记录,插入到 UNDO_LOG 表中。
6,提交前,向 TC 注册分支:申请表中,主键值相应记录的 全局锁
7,本地事务提交:业务数据的更新和前面步骤中生成的 UNDO LOG 一并提交
8,将本地事务提交的结果上报给 TC。

posted on   饿得慌~  阅读(7)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示