首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双向数据同步

双向数据同步
EN

Stack Overflow用户
提问于 2022-08-13 09:02:48
回答 1查看 59关注 0票数 -1

我有一个关于双向数据同步的查询。方案是,我们在PowerBuilder开发的本地网络上运行ERP软件,数据库是 software 16,还有我们的云软件是用net6开发的,数据库是Azure SQL。此外,我们还开发了一个基于.net的中间件,它与我们的API和本地数据库交互。在进行了像发票生成这样的操作之后,我们需要保证产品数量与本地DB和云DB一样准确。操作是否发生在云或本地网络中。请分享你的想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-08 16:32:10

这种方法将取决于您是否愿意牺牲一致性或并发性。

如果您愿意牺牲一致性(在您的情况下是可以接受的),我相信对于某些用例,比如同步云的本地发票,您的中间件可以异步地确保这两个数据库是同步的。

如果您愿意牺牲并发性(在签出之前确保产品的数量是准确的),那么您基本上可以使用锁来确保产品是可用的,而不是由其他人签出的。这有减慢系统速度的缺点,因为在处理以前的请求时,多个请求将等待。

至于实际的实现本身,您可以为中间件可以接收的每个事务使用一个队列,并为第一个选项进行同步。对于第二个选项,您需要对API/中间件需要获取的每个产品在提交更改之前使用某种分布式锁。

根据应用程序的规模和业务KPI,您必须决定如何处理第二个选项。下面是another SO thread,它对各种基于您愿意牺牲的方法进行了适当的讨论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73342898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档