合并复制可以以 0 毫秒的延迟运行,即实时吗?

Posted

技术标签:

【中文标题】合并复制可以以 0 毫秒的延迟运行,即实时吗?【英文标题】:Can merge replication operate with 0 ms delay, i.e. be real-time? 【发布时间】:2017-11-30 01:54:55 【问题描述】:

我面临一个问题,即我在不同的服务器上有两个相同的数据库,并且都以读/写方式工作,并且在两者上都插入了数据。问题是两个数据库之间有一个合并复制,它工作正常,但是在数据同步之前会有一分钟的延迟。我想要的是消除这种延迟。我希望数据立即同步。

我可以应用什么样的解决方案?是否有另一个像复制但没有延迟的功能,或者我可以让复制工作没有延迟,即实时。请有任何建议。感谢您的帮助。

【问题讨论】:

【参考方案1】:

任何类型的复制都无法实现 0 毫秒延迟或实时。

您可以将合并代理配置为连续运行,默认情况下每 60 秒复制一次更改。可以通过为 -PollingInterval 参数指定较低的值来减少此延迟,该参数是查询发布者或订阅者更改的频率(以秒为单位)。有关 PollingInterval 参数的更多信息,请参阅Replication Merge Agent。

根据您的要求,事务复制可能更适合,因为它接近实时。

【讨论】:

以上是关于合并复制可以以 0 毫秒的延迟运行,即实时吗?的主要内容,如果未能解决你的问题,请参考以下文章

查找嵌入式 Linux 系统中的延迟问题(停顿)

如何以每 1 秒的延迟运行 for 循环?

延迟长时间运行的计时器任务以提高滚动平滑度

Aws 管理的 redis 大约需要 300 毫秒来发送数据

以毫秒为间隔检测秒数

Python中的时间(以毫秒为单位)