链式事务改善了单服务中的短板效应吗?

来源:6-5 实例1-DB-DB.链式事务管理器

Belucky

2020-06-21

老师好!!!
单服务中我们不使用JTA,最大原因是避免短板效应而引发的锁长时间持有,但这个链式事务也是方法最后一起提交的,并不能改善这点吧?那它还有什么意义呢?

写回答

1回答

大漠风

2020-07-06

首先一点是,不是所有数据库都支持JTA,更不用说其他的MQ,所以链式事务可以用在一些数据源不支持JTA的场景。

另外,在事务提交这一点上,链式事务确实是多个事务依次提交,而JTA是针对每个数据源做一个prepare(), 再做commit()提交。在正常的情况下,在性能上、锁的时长等方面差别不大,JTA也就是多了一次网络请求。如果多个数据源有一个比较慢,还是一样增加锁的时间。但是在链式事务上,各个数据源的前后关系就会有影响。如果快的先提交了,它的事务和锁结束了,然后提交慢的,那这时候就会有明显区别。

0
0

分布式事务实践,从原理到实例,解决数据一致性

掌握分布式事务实现技术,是架构师必备技能。

1149 学习 · 153 问题

查看课程