我试图了解 XA 数据源对性能的影响。

在许多应用程序中,并非所有事务都需要参与分布式事务(意味着只有少数事务需要分布式/参与其他资源)。

性能的权衡是否足以配置两个数据源(XA 和非 XA 各一个)?同样,答案是,这取决于场景,但我正在寻找“最佳实践”。

最佳答案

仅在需要时才使用 XA 事务是值得的。与非 XA 情况相比,XA 提交代码路径的成本是 3-4 倍。大部分成本是由额外的通信造成的。交易时间越短,成本越高。

有一些 XA 特性试图降低成本:比如 1-Phase 提交优化和只读优化。如果底层数据库和驱动程序支持,可提升的 XA 也可以提供帮助。

关于java - XA 数据源的性能开销 - 最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12305900/

10-11 08:30