2012-11-14 2 views
2
  1. Как настроить локальный mongodb с зеркалом на mongolab (распространять все записи с локального на mongolab, поэтому они всегда синхронизированы - мне не все равно, что это синхронизация в разумные сроки)
  2. Как использовать mongolab в качестве резерва, если локальный сервер перестает работать (Ruby/Rails, mongo driver и mongoid).

Справочная информация: Раньше у меня был локальный сервер mongo, но он периодически прерывался, и все мои приложения перестали работать + мне пришлось «восстановить» БД, чтобы перезапустить его. Затем я переключился на mongolab, которого я очень доволен, но он генерирует много трафика, которого я бы хотел избежать, имея локальный «кеш», но не беспокоясь о моем локальном сбое кеша, заставляя все мои приложения останавливаться за работой. БД относительно малы, поэтому размер не является проблемой. Я не пытаюсь устранить накладные расходы на связь с mongolab, просто немного опустите его.Local mongo server with mongolab mirror & fallback

ответ

2

Я предполагаю, что вы не хотите, чтобы экземпляр mongolab был частью набора реплик (или, возможно, этого не предлагалось). Самый простой способ - добавить удаленный экземпляр mongod как hidden member (приоритет 0) и просто попросить его реплицировать данные из вашего локального экземпляра.

Альтернативным решением, которое вы можете использовать, является mongooplog, который может использоваться для опроса oplog на одном сервере, а затем применить его к другому. По существу, репликация по требованию (вам нужно было бы семенить один экземпляр соответствующим образом и т. Д., И ему нужно было бы управлять любыми отказами). Более подробная информация здесь:

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

Последний вариант должен был бы написать что-то самостоятельно, используя tailable cursor на вашем языке выбора кормить oplog данных в удаленном экземпляре.

+0

Спасибо, я попытаюсь использовать эту информацию, если у меня нет никаких проблем, я приму свой ответ. – mrbrdo