2013-03-19 2 views
0

У нас есть 3 осколка, реплицированные по 3 коробки каждый (всего 9 ящиков). 2 реплики находятся у нашего основного хостинг-провайдера (сайт A), и у нас есть третья реплика (только для вторичного) на другом хостинг-провайдере (сайт B). Если сайт A не удается, (как) мы можем автоматически принимать запросы с сайта B?реплика комплект окантовка. Может ли второй центр обработки данных выполнить переход на другой ресурс?

Мы сконфигурировали реплику сайта B на вторичную версию, как указано в http://docs.mongodb.org/manual/core/replication/. Я знаю, что вы можете делать rs.SlaveOk() в этих полях и принимать запросы, но это будет делать только локальный осколок, который является трети базы данных ,

Вся помощь оценивается!

ответ

1

Вы не можете автоматически переключиться на другой ресурс, если большая часть набора реплик недоступна.

Losing site A означает, что вы потеряли 2/3rds своих узлов реплики. Чтобы узлы узла B принимали чтение и запись, вам необходимо перенастроить набор реплик. Вы можете либо удалить узлы на сайте A из конфигурации, либо добавить арбитров для восстановления «большинства».

Обратите внимание, что у вас не будет избыточности, работающей таким образом, поэтому я бы рекомендовал, чтобы вместо того, чтобы пытаться автоматически или как можно быстрее приступить к работе, в случае серьезной потери серверов, на которую вы тратите время и накручиваете новые серверов, которые обеспечат избыточность вашей новой конфигурации.

Если для вашего приложения требуется потеря центра обработки данных, рекомендуемая конфигурация должна состоять в том, чтобы иметь одинаковое количество узлов в DC1 и DC2, а затем арбитр в третьем месте (так, чтобы какой-либо центр обработки данных не прошел , вы можете убедиться, что большинство наборов реплик все еще присутствует и может выбрать новый первичный).

+0

Спасибо за это. Я думал о случае, когда сайт A временно отключен. Поэтому я мог вручную настроить сайт B, чтобы забыть о сайте A, но затем, если сайт A вернется, я могу вручную настроить его снова? – user1556658

+0

это, безусловно, вариант. –