栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Spring和Hibernate在多个数据库中进行分布式事务的“最佳”方法是什么

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Spring和Hibernate在多个数据库中进行分布式事务的“最佳”方法是什么

在多个数据库上分布事务的最佳方法是:不。

有人会将您指向XA,但XA(或“两阶段提交”)是一个谎言(或市场说法)。

想象一下:在第一阶段告诉XA管理器它可以发送最终提交之后,到其中一个数据库的网络连接失败。怎么办?超时?这将使另一个数据库损坏。回滚?两个问题:您无法回滚提交,又如何知道第二个数据库发生了什么?在成功提交数据后,网络连接失败了,只有“成功”消息丢失了吗?

最好的方法是将数据复制到一个地方。使用允许您中止副本并随时继续进行复制的方案(例如,忽略已拥有的数据或按ID排序选择,仅请求记录>副本的MAX(ID))。通过交易保护它。这不是问题,因为您只从源中读取数据,所以当事务由于任何原因失败时,您可以忽略源数据库。因此,这是一个普通的单源交易。

复制数据后,请在本地进行处理。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号