2014-09-27 1 views
-1

Какое наилучшее решение для синхронизации экземпляра mongodb на локальном сервере с динамическим IP (установленным ISP) с экземпляром mongodb в общедоступном сервере (например, Amazon AWS)? Могу ли я сделать это с node.js?экземпляры Sync mongodb

ответ

0

Вы можете сделать это несколькими способами, но сначала для решения проблемы с общедоступным/динамическим IP-адресом вы захотите либо использовать имя хоста -> сопоставление IP-адресов, которое вы поддерживаете (/etc/hosts, либо ваши собственные DNS-серверы) или рассмотрите один из решений dynamic DNS.

Как только у вас возникнут проблемы с изменением IP-адреса, вопрос заключается в том, как синхронизировать системы. Наиболее очевидный способ состоит в том, чтобы иметь два узла в replica set - если ваше соединение достаточно надежное, это может сработать, хотя вы, вероятно, захотите поставить арбитр локально или удаленно для любой стороны соединения, которое вы хотите выполнять, когда соединение является чешуйчатым (в наборе из двух узлов, если один из узлов опущен, то они являются вторичными и не могут записывать записи).

Другой вариант - использовать mongo connector, который позволяет синхронизировать с любыми пунктами назначения, включая другой экземпляр MongoDB.

Этот проект даст вам довольно хорошее представление о том, что вам нужно сделать (на python), чтобы обеспечить такую ​​синхронизацию. Вам нужно будет написать что-то подобное в node.js, чтобы добиться правильной синхронизации, и по существу вам понадобится tail the oplog на одном хосте и применить его к другому на регулярной основе, в зависимости от ваших требований.

+0

спасибо за ответ @Adam, мне удалось использовать решение DynDNS, а затем использовать реплику в моих базах данных – DennyHiu

Смежные вопросы