SEATA-AT模式时序图
2024-01-10 14:56:01 17 举报
在SEA-AT模式时序图中,首先启动系统后,用户通过输入设备(如键盘、鼠标等)向系统发送请求。系统接收到请求后,进行相应的处理,如数据查询、计算等。处理完成后,系统将结果返回给用户。同时,系统还会将操作日志记录在日志文件中,以便后续分析和审计。在整个过程中,系统会不断监控资源使用情况,如CPU、内存、磁盘空间等,以确保系统的稳定运行。当系统检测到资源不足或出现异常情况时,会自动采取相应措施,如调整资源分配、报警等。最后,用户可以通过输出设备(如显示器、打印机等)查看处理结果。
作者其他创作
大纲/内容
删除branch_table分支事务和global_table全局事务记录
持久化global_table全局事务表
12.AT模式提交都是异步处理,这里会将全局事务GlobalSession改为异步提交或回滚,由定时任务进行处理,删除globalSession完成事务处理
4.调用业务系统B服务,通TransactionPropagationInterceptor会将xid写入到请求头中
8.根据执行状态处理全局事务
全局提交
5.首先绑定xid为当前上下文事务id①执行业务sql,利用代理根据业务sql生成逆向sql②注册分支事务(关联全局事务),返回branchId标志当前分支事务已关联至全局事务③提交本地事务④将逆向sql写入undolog⑤利用代理基于业务sql生成beforeImage和afterImage信息
9-2.向每个事务参与者发送提交:branchRollback请求其他业务系统本地执行成功进行回滚属于二阶段
13.完成全局事务处理
3.执行业务方法(涉及业务系统相互调用)
业务系统A
成功
10-2.从undo_log表中拉出回滚信息解析sql并执行
11.参与者均成功返回
7.业务返回
RM 事务参与者
1.通过@GlobalTransaction拦截器发送GlobalBeginRequest(typeCode=1),发起全局事务
持久化到undo_log回滚信息表
TC 事务协调者
修改branch_table状态为PhaseOne_Failed
TM 事务发起者
10-1.删除之前补偿的业务undolog
9-1.向每个事务参与者发送提交:branchCommit请求
全局回滚
Seata-Server
2.返回xid(全局事务id)进行绑定
业务系统B
持久化branch_table分支事务表
回滚(1阶段失败)
失败
0 条评论
下一页