我有两个webservices,每个服务都有自己的数据库,一个是master(A),另一个是slave(B)。如果对服务B进行了呼叫,它也会调用A来同步A的数据库。
如果由于某种原因A不可用,B需要在以后将A更新为最新数据。
有关什么机制可以用于进程外数据同步的任何建议?
答案 0 :(得分:1)
听起来command pattern可能对您有用 - 存储“错过的”交易并在以后应用它们。你可能需要做一些诡计来弄清楚你对A做的最后几次调用中发生了哪些,哪些没有。
如果A从其他来源更新并且您松开了链接(而不是A完全断开),那么您可能会有一场战斗来解决任何冲突。我建议使用某种Temporal Database来帮助管理它。
或者,您是否考虑使用MSMQ等消息传递系统?
答案 1 :(得分:0)
您可以在2个数据库之间设置主 - 主复制。我们用MySQL做到这一点。