【问题标题】:Local mongo server with mongolab mirror & fallback带有 mongolab 镜像和回退的本地 mongo 服务器
【发布时间】:2012-11-02 15:05:12
【问题描述】:
  1. 如何在 mongolab 上设置带有镜像的本地 mongodb(将所有写入从本地传播到 mongolab,因此它们始终是同步的 - 我不关心原子,只是它在合理的时间范围内同步)
  2. 如果本地服务器停止工作(Ruby/Rails、mongo 驱动程序和 mongoid),如何使用 mongolab 作为备用。

背景:我曾经有一个本地 mongo 服务器,但它偶尔会崩溃,我的所有应用程序都停止工作 + 我必须“修复”数据库才能重新启动它。然后我切换到我非常满意的 mongolab,但它产生了大量流量,我想通过本地“缓存”来避免,但不必担心我的本地缓存崩溃导致我所有的应用程序停止在职的。数据库相对较小,因此大小不是问题。我不是想消除与 mongolab 通信的流量开销,只是降低一点。

【问题讨论】:

    标签: ruby mongodb mlab


    【解决方案1】:

    我假设您不希望 mongolab 实例只是副本集的一部分(或者可能不提供)。最简单的方法是将远程 mongod 实例添加为hidden member(优先级 0),然后让它从本地实例复制数据。

    您可以使用的另一种即时解决方案是mongooplog,它可用于轮询一台服务器上的 oplog,然后将其应用于另一台服务器。本质上是按需复制(您需要适当地为一个实例播种等,并且需要管理任何故障)。更多信息在这里:

    http://docs.mongodb.org/manual/reference/mongooplog/

    最后一个选项是使用tailable cursor 以您选择的语言自己编写一些东西,以将 oplog 数据提供给远程实例。

    【讨论】:

    • 谢谢,我会尝试使用这个信息,如果我没有任何问题,我会接受你的回答。
    猜你喜欢
    • 2017-04-01
    • 2012-09-28
    • 2018-09-14
    • 2013-11-10
    • 1970-01-01
    • 2017-05-10
    • 2014-01-22
    • 2017-04-08
    • 2019-10-08
    相关资源
    最近更新 更多