低延迟的数据库地理复制

时间:2013-04-09 11:15:20

标签: database cloud replication latency geo

我有一个网站,我目前在欧洲的一台服务器上托管。为了改善非欧洲用户的延迟,我想在美国和亚洲添加本地服务器。

保持静态文件同步没问题。我们每天只添加一次新内容,因此一个简单的rsync cron作业可以很好地保持文件更新。

我完全坚持的是如何在数据库端处理这个问题?我更喜欢一个包含所有用户信息的主数据库,因此如果本地服务器下线,我们总是在主服务器中拥有用户数据(无论备份如何)。

到目前为止,我们考虑了两个选项:

支持地理位置复制的数据库

支持开箱即用的地理位置复制的数据库。应该非常容易设置,并且DB写入的延迟应该非常低(即,无需等待主服务器上的“写入成功”消息)。

使用主数据库和本地数据库的编程方法

用户同时从一个区域访问,因此我们可以做一些连接到主数据库和本地数据库的东西。首次登录时,所有用户信息都将从主数据库中提取并缓存在本地数据库中。用户从此开始生成的所有数据都可以存储在本地数据库中,并在后台同步回主数据库。可行,但似乎过于复杂,难以修复,如果有什么东西不同步?

关于数据库的更多背景信息

  • 我们的数据库执行大量读取和少量写入
  • 数据库性能根本不是问题。所以我们只是希望改善用户体验(降低延迟)
  • 用户不会生成太多数据(一般为10kb,最多为200kb)
  • 我们不是银行或证券交易所,如果某个用户数据在一分钟或几分钟后同步回主服务器,那不是一个大问题。

我们的问题

  • 是否有描述此特定问题的名称? (所以我可以谷歌更好)
  • 是否存在一个开箱即用的地理复制数据库而没有延迟惩罚? (也许Couchbase?)
  • 程序化方法是可行的,还是一个痛苦的世界?

我会非常感谢任何见解,或者链接到涵盖此类内容的文章。我确信有更多的小规模网站遇到了这个问题。

0 个答案:

没有答案