Seata

seata是什么

一个分布式事务处理框架

四大核心概念

  • XID:Transaction ID

全局唯一的事务ID

  • TM:TransactionManager

事务管理器(控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议)

  • TC:TransactionCoordinator

事务协调者(维护全局事务说点平行状态,负责协调并驱动全局事务的提交或回滚)

  • RM:ResourceManager

资源管理器(控制分支事务,负责分支注册、状态汇报、并接收事务协调器的指令,驱动分支 (本地)事务的提交和回滚)

工作流程

一)

TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯的 XID

二)

XID 在微服务调用链路的上下文中传搡

三)

RM 向 TC 注册分支事务,将其纳入XID 对应全局事务的管辖

四)

TM 向 TC 发起针对 XID 的全局提交或回滚决议

五)

TC 调度 XID 下管辖的全部分支事务完成提交或回滚提交

四大事务模式

AT(默认):弱一致性; TCC的全局锁进行隔离高; 性能高; 适用于一般分布式事务场景

TCC:弱一致性;预留资源隔离 ;性能特别高;适用于要求高性能的场景

SAGA: 最终一致性;无隔离;性能特别高;适用于业务流程长或多的场景

XA:强一致性; 完全隔离; 低; 对系统一致性要求非常高的场景

AT模式整体机制--两阶段提交协议

一阶段

(本地事务提交/回滚)

业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源

二阶段

(全局事务提交/回滚)

提交异步化(非常快速地完成)

回滚通过一阶段的回滚日志进行反向补偿


__EOF__

本文作者3DG
本文链接https://www.cnblogs.com/3-DG/p/17837483.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   3DG  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示