分布式事务中,Seata实现2PC与传统2PC有什么区别?

提问者:帅平 问题分类:微服务
分布式事务中,Seata实现2PC与传统2PC有什么区别?

 您阅读本篇文章共花了: 

1 个回答
理解的心
理解的心
这两个2PC的实现区别主要是有如下两个:
1. 架构层次方面
传统2PC方案的 RM 实际上是在数据库层,RM本质上就是数据库自身,通过XA协议实现,而 Seata的RM是以jar包的形式作为中间件层部署在应用程序这一侧的。

2. 两阶段提交方面
传统2PC无论第二阶段的决议是commit还是rollback,事务性资源的锁都要保持到Phase2完成才释放。而Seata的做法是在Phase1 就将本地事务提交,这样就可以省去Phase2持锁的时间,整体提高效率。
发布于:1年前 (2023-04-14) IP属地:四川省
我来回答