如何解决在“分布式事务”中更新多个数据库
我有 2 个数据库。一个是 SQL Server,另一个是 MongoDB。这两个数据库都托管在 AWS 上。
我需要制作一个定期运行的 .NET 后台服务(可能每月一次)并更新 SQL Server 和 MongoDB 中的大量数据。而且我需要在单个“分布式事务”中执行此操作,以便 2 个 DB 之间没有数据不一致并且数据是同步的。
我已经阅读了 2 Phase transactions
,但我认为这里不可能,因为 MongoDB 不支持事务?(如果我错了,请纠正我,但我们使用的是 MongoDB 3.4,我认为它不支持事务) .
所以我打算看看我是否可以实现saga pattern
来实现分布式事务?
是否有任何其他模式/技术我应该研究来完成这项工作?
解决方法
Saga 模式自然是分布式事务的选择。
MongoDB 目前支持事务 - https://docs.mongodb.com/manual/core/transactions/,因此您也可以考虑您的第一个想法,因为它可能更容易。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。