分布式事务------XA协议/2PC(Seata AT)

本文介绍了分布式事务中的XA协议和2PC,分析了其优缺点,并详细讲解了Seata的AT模式,包括角色、流程及与传统2PC的区别。Seata AT模式通过一阶段与二阶段提交实现异步化,提高性能,同时通过全局锁防止脏读,但在高并发场景下可能因全局锁影响性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

·XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准。

·XA 规范 使用两阶段提交(2PC,Two-Phase Commit)协议来保证所有资源同时提交或回滚任何特定的事务。

角色说明:

·AP 应用程序,也就是业务层。哪些操作属于一个事务,AP来定义。

·RM 资源管理器。一般是数据库,也可以是消息队列,文件系统等。

·TM 事务管理器,接收AP的事务请求,对全局事务进行管理,管理事务的状态,协调RM的处理,通知RM哪些操作属于哪些全局事务以及事务分支等等。

AP自己操作TM,当需要事务时,AP向TM请求发起事务,TM负责整个事务的提交,回滚

2pc解决的是分布式数据强一致性问题

优点:

实现原理简单。

缺点:

  1. 性能问题:

2PC的提交在执行过程中,所有参与事务操作的逻辑都处于阻塞状态,也就是说,各个参与者都在等待其他参与者响应,无法进行其他操作;

  1. 数据不一致问题

数据不一致。当执行事务提交过程中,如果协调者向所有参与者发送Commit请求后,发生局部网络异常或者协调者在尚未发送完Commit请求,即出现崩溃,最终导致只有部分参与者收到、执行请求。于是整个系统将会出现数据不一致的情形;

  1. 协调者单点故障问题

事务协调者是整个XA模型的核心,一旦事务协调者节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值