搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
你好赵伟
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
se linux安卓,SELinux开关
2
Mac M1芯片安装 MySQL_brew bundle dump
3
对NovelAI的关键词的探索记录_novelai反向提示词
4
Android绘图(一)基础篇_android 画图
5
Android 多渠道打包的几种方式_android 根据已有apk打渠道包
6
IDEA安装、配置及使用教程_idea csdn
7
PyTorch实战案例(一)——利用PyTorch实现线性回归算法(基础)_pytorch教程实践案例
8
AIGC:导航网站精选_aigc.cc/
9
iOS 腾讯Pag动画框架-实现PagView的截图功能
10
Entity Framework Core系列教程-24-使用存储过程_entityframeworkcore executereader 默认是否支持存储过程
当前位置:
article
> 正文
说说Seata的执行流程
作者:你好赵伟 | 2024-03-22 07:17:59
赞
踩
seata的执行流程
Seata
的整体执行流程设计为两阶段提交,其执行流程如下:
第一阶段:
所有RM(Resource Manager,资源管理者,业务代码中被远程调用的部分)执行自己的本地事务。在执行本地事务时,seata使用数据源代理,在执行SQL前,对SQL进行解析,生成前置镜像SQL和后置镜像SQL,同时向undo log插入一条数据,方便后期出现异常做回滚,然后向TC(Transaction Coordinator,事务协调器)注册分支事务,提交本地事务,最后向TC提交它的分支事务状态。
第二阶段:
所有RM本地事务执行成功,此时TM(Transaction Manager,事务管理器)会向TC发起全局事务提交,TC会立马释放全局锁然后异步驱动所有RM做分支事务的提交。
存在一个RM本地事务不成功,此时TM会向TC发起全局事务回滚,TC会驱动所有的RM做回滚操作,等待所有的RM回滚成功后然后再释放全局锁。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/你好赵伟/article/detail/286195
推荐阅读
article
分布式
事务-
Seata
_
io
.
seata
.
config
.file
config
urat
io
n : fi...
1. 介绍2. 源码3. 实战4. FAQ5. 参考资料【springboot集成
分布式
事务
Seata
】【
Seata
中文...
赞
踩
article
Se
at
a
--
AT
模式+
TCC
模式_se
at
a
at
tcc...
文章目录1.
Se
at
a
介绍2.
Se
at
a
AT
事务方案2.1
Se
at
a
AT
基本原理2.2 第一阶段:执行各分支事务...
赞
踩
article
Seata
之 @
GlobalTransactional
在
TM
侧的核心
逻辑
串烧【保熟】_gloab...
Seata
依赖 Spring 的注解机制,实现声明式事务,即开发者给 Bean 使用注解 ,
Seata
通过重写此类 ...
赞
踩
article
seata
:
endpoint
format
should like ip:
port
...
springcloud 集成
seata
1.3.0 报错
endpoint
format
should like ip:p...
赞
踩
article
Seata
AT
TM
->RC->
RM
一次完整的交互过程_
seata
tm
和
rm
...
原理
TM
两阶段:阶段1:
TM
向TC申请全局事务,netty客户端发起了一次记录xid的请求阶段2:TC协调之后,决定执行...
赞
踩
相关标签
java
spring
spring boot
seata
分布式事务