主写和从读的数据库复制滞后(延迟)

时间:2012-05-25 05:56:44

标签: database database-design replication scalability

我们有一个读写主服务器和复制的从服务器。在某些Web用例中,数据被发布并立即读取以发送回服务器。立即读取在读取从设备上完成,并且由于延迟,数据尚未在那里更新。

我理解这可能是复制设置的常见问题,我们对此不熟悉,非常感谢我们必须克服这些情况的任何输入。

我现在可以想到几个选项:

  • 始终立即从主人那里读取。
  • 使用功能强大的服务器减少延迟。
  • 取消复制并对数据库进行分片。

谢谢, 克里斯。

2 个答案:

答案 0 :(得分:4)

此类架构的常见解决方案是使用内存数据网格(IMDG)。 IMDG(在某些情况下称为分布式缓存)可以帮助您在不同服务器之间进行同步,而无需支付数据库访问延迟或处理开发自己的复制机制。

XAP弹性缓存(参见http://www.gigaspaces.com/datagrid)是该领域的主要产品之一,甚至还有一个免费的社区版本,可用于商业项目。

答案 1 :(得分:2)

这取决于您使用的数据库,以及您希望解决此问题的级别。

在数据库级别,您可以尝试学习几个关键字:

  • 复制滞后
  • 半同步复制&同步复制

在MySQL中,您可以找到:

  • MySQL 5.6(尚未GA)
  • Galera Cluster

如果您想在应用程序级别解决此问题,那么“写入后始终读取主文件”将是一个很好的解决方案。