分布式事务(XA transactions)
而基于 XA 的分布式事务由于在并发度高的场景中性能无法满足需要,并未被互联网巨头大规模使用,他们大多采用最终一致性的柔性事务代替强一致事务。
参考MySQL5.7手册:
A standard interface for coordinating distributed transactions, allowing multiple databases to participate in a transaction while maintaining ACID compliance. For full details, see Section 13.3.7, “XA Transactions”.
XA Distributed Transaction support is enabled by default. If you are not using this feature, you can disable the innodb_support_xa
configuration option, avoiding the performance overhead of an extra fsync for each transaction.
As of MySQL 5.7.10, disabling innodb_support_xa
is not permitted as it makes replication unsafe and prevents performance gains associated with binary log group commit. The innodb_support_xa
configuration option is removed in MySQL 8.0.
See Also ACID, binary log, commit, transaction, two-phase commit.