链式事务改善了单服务中的短板效应吗?
来源:6-5 实例1-DB-DB.链式事务管理器

Belucky
2020-06-21
老师好!!!
单服务中我们不使用JTA,最大原因是避免短板效应而引发的锁长时间持有,但这个链式事务也是方法最后一起提交的,并不能改善这点吧?那它还有什么意义呢?
写回答
1回答
-
大漠风
2020-07-06
首先一点是,不是所有数据库都支持JTA,更不用说其他的MQ,所以链式事务可以用在一些数据源不支持JTA的场景。
另外,在事务提交这一点上,链式事务确实是多个事务依次提交,而JTA是针对每个数据源做一个prepare(), 再做commit()提交。在正常的情况下,在性能上、锁的时长等方面差别不大,JTA也就是多了一次网络请求。如果多个数据源有一个比较慢,还是一样增加锁的时间。但是在链式事务上,各个数据源的前后关系就会有影响。如果快的先提交了,它的事务和锁结束了,然后提交慢的,那这时候就会有明显区别。
00
相似问题