20250223图书馆日记-seata

我爱海鲸 2025-02-24 20:25:04 图书馆

简介TC(事务协调者)、TM(事务管理器)、RM(资源管理器)。分布式事务

时间:2025-02-23 17:19-18:19  

地点:广州图书馆

人物:我

天气:晴 (18度~26度)

位置:7楼0063列A面04架02层

TC(事务协调者):负责定义全局事务和分支事务的状态,并驱动全局事务的提交和回滚。

TM(事务管理器):负责定义全局事物的范围,并负责开始一个全局事务、提交或回滚一个全局事务。事务管理器与事务协调者进行交互,控制全局事务的生命周期。

RM(资源管理器):负责管理分支事务所使用的资源,与事务协调者进行分支事务的注册和状态上报,并驱动分支事务的提交或回滚

Seata的事务模式:

   Seata提供了XA、AT、TCC和SAGA四种事务模式。

对比项 XA AT TCC SAGA
一致性 强一致性 弱一致性 弱一致性 最终一致性
隔离性 完全隔离 基于全局锁隔离 基于资源预留隔离 无隔离性
代码侵入 有,要编写三个接口 有,要编写状态机和补偿业务
性能 非常好 非常好
适用场景 对一致性、隔离性有高要求的事务场景 基于关系数据库的大多数分布式事务场景 对性能要求较高的事务,场景:有非关系数据库参与的事务场景 业务流程长,业务流程多,参与者包含其他公司或遗留系统服务,无法提供TCC模式要求的三个接口的事务场景

XA:每一次执行都会阻塞本地的事务,直到所有分支事务都成功或者有失败时,才会提交或者回滚事务

AT:不会阻塞本地事务,分支事务执行完就会提交事务,当出现失败的事务时,会通过日志进行反向补偿(最常用)

TCC:T(尝试)、C(确认)、C(取消)需要手动编写代码实现

SAGA:可通过消息队列实现最终一致性(最不常用)

参考文章:

浅谈seata分布式事务框架原理(一)

seata学习之简介

2025-02-22~ 02-23 深圳聚餐:

你好:我的2025

上一篇:java 排序用法

下一篇:数字马力