mysql提交事务和分布式事务的一个疑问?
这里以`mysql innodb`为例。
我刚刚查阅资料时发现这么一段话:“MySQL中的XA实现分为:外部XA和内部XA。外部XA是指我们通常意义上的分布式事务实现;内部XA是指单台MySQL服务器中,Server层作为TM(事务协调者),而服务器中的多个数据库实例作为RM,而进行的一种分布式事务,也就是MySQL跨库事务;也就是一个事务涉及到同一台MySQL服务器中的两个innodb数据库(因为其它引擎不支持XA)。”
那么问题来了,首先可以明确的是:上文的外部XA是分布式事务,内部XA是平时我们说的普通的事务。但是我的理解,分布式事务指的应该是跨库的事务,也就是多个库之间的一个事务,也就是说,如果在多台服务器上的多个库,算是分布式事务,那么在单台服务器上,存在多个库,也应该算是分布式事务。但是在上面那段话来看,貌似单台服务器多个库之间的事务成了一个普通事务,而不是分布式事务,求解惑
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
xa就是分布式事务,内部xa也是分布式事务,人家哪里说内部xa不是分布式事务了