Может ли вторичное устройство в реплике устанавливать реплицирующие данные из другого вторичного устройства, если первичное устройство все еще активно? - PullRequest
0 голосов
/ 09 ноября 2019

Я готовлюсь к сертификации разработчика MongoDB, и вопрос практики меня озадачил:

Что из следующего верно для механизма репликации в MongoDB? Отметьте все подходящие варианты.

a. Операции над первичным записываются в закрытой коллекции, которая называется oplog.

b. Члены набора реплик могут реплицировать данные из любого другого несущего данные элемента набора по умолчанию.

c. Клиенты читают из ближайшего члена набора реплик по умолчанию.

Я выбрал просто a., но b. также считается верным.

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

Формулировка в b. anyдругой несущий данные элемент набора по умолчанию подразумевает, что вторичные серверы могут опрашивать друг друга, даже если основной узел все еще активен. Я предполагаю, что это не так. Правильно ли мое понимание?

1 Ответ

1 голос
/ 09 ноября 2019

б. Члены набора реплик могут реплицировать данные из любого другого несущего данные элемента набора по умолчанию.

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

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

По умолчанию означает, что эта операция репликации выполняется автоматически.

Принимает к сведению документацию:

  • Дополнительное устройство поддерживает копию набора данных основного объекта. Для репликации данных вторичный сервер применяет операции из оплога первичного сервера к своему собственному набору данных в асинхронном процессе.
  • Вторичный сервер может стать первичным, если текущий первичный становится недоступным;Вторичные власти проводят выборы и избирают новые выборы.
  • Клиенты могут читать данные из дополнительных участников (это можно указать в настройках чтения).
...