mysql提交事务和分布式事务的一个疑问?

这里以`mysql innodb`为例。

我刚刚查阅资料时发现这么一段话:“MySQL中的XA实现分为:外部XA和内部XA。外部XA是指我们通常意义上的分布式事务实现;内部XA是指单台MySQL服务器中,Server层作为TM(事务协调者),而服务器中的多个数据库实例作为RM,而进行的一种分布式事务,也就是MySQL跨库事务;也就是一个事务涉及到同一台MySQL服务器中的两个innodb数据库(因为其它引擎不支持XA)。”

那么问题来了,首先可以明确的是:上文的外部XA是分布式事务,内部XA是平时我们说的普通的事务。但是我的理解,分布式事务指的应该是跨库的事务,也就是多个库之间的一个事务,也就是说,如果在多台服务器上的多个库,算是分布式事务,那么在单台服务器上,存在多个库,也应该算是分布式事务。但是在上面那段话来看,貌似单台服务器多个库之间的事务成了一个普通事务,而不是分布式事务,求解惑
阅读 3.1k
1 个回答

xa就是分布式事务,内部xa也是分布式事务,人家哪里说内部xa不是分布式事务了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题