2014-09-27 97 views
-1

在公共服务器(例如Amazon AWS)中使用动态IP(由ISP设置)与mongodb实例同步本地服务器中的mongodb实例的最佳解决方案是什么?我可以做node.js吗?同步MongoDB实例

回答

0

您可以通过多种方式实现此目的,但首先要解决公共/动态IP问题,您希望使用主机名 - >您维护的IP地址映射(/etc/hosts或您自己的DNS服务器)或看看dynamic DNS解决方案之一。

一旦你解决了IP地址问题的变化,问题是如何保持系统同步。最明显的方法是将这两个节点设置为replica set - 如果连接足够可靠,这可能会起作用,不过您可能希望在本地或远程放置一个仲裁器,以便在您想要连接的任何一侧进行写入时连接是flakey(在2个节点集合中,如果任一节点关闭,则它们都是次要的并且不能写入)。

另一种选择是使用mongo connector,它允许您同步到任意目标,包括另一个MongoDB实例。

该项目将给你一个相当不错的想法,你需要做什么(在Python中)来提供这样一个同步服务。您需要在node.js中编写类似的内容以实现适当的同步,并且实质上您需要在一台主机上使用tail the oplog,并根据您的要求定期将其应用于另一台主机。

+0

感谢回复@Adam,我设法使用DynDNS解决方案,然后在我的数据库中使用副本集 – DennyHiu 2014-09-30 15:13:24