MongoDB автоматическая обработка отказа между 2 дата-центрами

Если я развертываю набор копии MongoDb только через 2 дата-центра, если один весь дата-центр перестал работать, может там быть автоматическая обработка отказа к другому дата-центру?

Рассмотрите ситуацию, где 1 дата-центр имеет основное устройство, вторичное и арбитр, и второй дата-центр имеет 2 вторичных участников. По существу 5 членских копий установлены.

Если дата-центр 2 спустится, то все еще будет 3 участника в наборе копии в дата-центре 1. Это является большим.

Наоборот, если дата-центр 2 останется, и дата-центр 1 спускается, то только будет 2 участника, упущенные из 5 членских наборов копии. Этого недостаточно, чтобы иметь любое вторичное устройство, голосуют за то, чтобы себя стали основным.

Это корректно? В противном случае, что я делаю неправильно.

Если это не возможно, сообщите мне, таким образом, я могу исследовать другие опции.

Добавление третьего дата-центра для корпуса арбитра не является опцией.

1
задан 7 October 2015 в 02:42
2 ответа

Ответ на Ваш вопрос заключается в том, что невозможно сделать только два места.

Причина, по которой это невозможно, может быть объяснена таким образом: Если оба местоположения полностью работоспособны, но сетевое соединение между ними нарушено, то только одно из них может оставаться работоспособным. В этом случае недопустимо, чтобы оба местоположения одновременно выбирали первичное устройство.

Нет способа для одного местоположения определить разницу между тем, что другое местоположение полностью не работает, и тем, что другое находится наверху, но сетевая связь между двумя местоположениями не работает.

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

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

.
1
ответ дан 3 December 2019 в 23:59

Одним из возможных вариантов является наличие первичного и вторичного в первом центре данных, 2 вторичных во втором центре данных, а также возможность наличия арбитра в третьем центре данных.

.
0
ответ дан 3 December 2019 в 23:59

Теги

Похожие вопросы