全站数据
8 4 2 0 5 8 1

seata四种模式优缺点

公务员考霸 | 简单学习,快乐成才!         
问题更新日期:2024-10-18 12:11:39

问题描述

seata四种模式优缺点,麻烦给回复
精选答案
最佳答案

优点:

这是一种强一致性的解决方案,因为每一个微服务都是基于各自的事务的,各自的事务是满足ACID的,而且等到大家都执行完了且都成功了才提交,所以全局事务是满足ACID的。

实现比较简单,因为很多数据库都实现了这种模式,使用Seata的XA模式只需要简单的封装上TM。

缺点:

第一阶段不提交,等到第二阶段再提交,但是等的过程中要占用数据库锁,如果一个分布式事务中跨越了很多个分支事务,则可能造成很多资源的浪费,使得别的请求无法访问,降低了可用性;

依赖于数据库,对于如果有的数据库没有实现这种模式,则无法使用这个模式来实现分布式事务。

其他回答

优点:

XA模式下,所有的事务会相互等待,达到强一致性的效果。

缺点:

会占用数据库锁,造成资源浪费,性能下降,需要数据库自身支持XA。

其他回答

Seata有四种模式: XA、AT(默认)、TCC、Seaga

XA:强一致性,基于数据库隔离,无代码侵入,在一阶段不提交事务

AT:默认模式,基于全局锁隔离,无代码侵入,一阶段提交事务,在提交事务前,会记录undolog日志,性能比XA模式好,二阶段TC通知回滚,则根据undolog回滚,通知提交,则删除undolog日志。

TCC:性能最好,不需要依赖关系型数据库,但代码入侵读高。Try:冻结可用数据,Confirm:确认提交数据,删除冻结数据Canel:恢复数据,将冻结数据恢复

Seaga: 用于长事务,例如A项目调另外一个公司的项目接口。