Назад | Перейти на главную страницу

Активно-активные несколько центров обработки данных MongoDB

Я ищу способ настройки серверов MongoDB в двух разных центрах обработки данных, где они остаются в конфигурации «активный-активный». Сайт A - это обычная производственная среда, к которой имеют доступ клиенты, и все записи отправляются сюда, но все записи данных также реплицируются на сайт B, который является резервной копией. Кроме того, сайт B также должен иметь возможность принимать любые записи и реплицировать их на сайт A. В ситуации аварийного восстановления, когда сайт A отсутствует, сайт B будет иметь полный набор данных и будет мгновенно переключен (скорее всего, только DNS) и ничего не нужно менять через приложение.

Я довольно много поискал и все же нашел решение. Ближайший, который я нашел, - это сегментированный кластер, но для этого потребуется настроить несколько сегментов, каждый с набором реплик и перекрестным, где каждый набор реплик расположен между сайтами A и B. Это также означает, что регулярная запись в сегмент с основным экземпляром Mongo, расположенным в другом центре обработки данных, чтобы проходить через сети и быть значительно медленнее.

Вы просите «репликации мастер-мастер»; MongoDB не поддерживает это, он поддерживает только первичную-вторичную репликацию:

Репликация в MongoDB

Набор реплик - это группа экземпляров mongod, которые поддерживают один и тот же набор данных. Набор реплик содержит несколько узлов передачи данных и, возможно, один узел-арбитр. Из узлов, несущих данные, один и только один член считается основным узлом, в то время как другие узлы считаются вторичными узлами.