2016-06-25 3 views
-6

Вы только что были наняты в новой компании с существующим развертыванием MongoDB. Они запускают один набор реплик с двумя членами. Когда вы спрашиваете, почему, они объясняют, что это гарантирует, что данные будут долговечными перед сбоем любого сервера. Они также объясняют, что если они используют readPreference «primaryPreferred», приложение может читать с одного оставшегося сервера во время обслуживания сервера.Mongodb ReplicaSet

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

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

Какие из следующих параметров позволят вам гарантировать, что первичная информация доступна во время обслуживания сервера, и что любая запись, которую он получает, будет реплицироваться в течение этого времени?

Проверьте все применимые.

  1. Добавить два арбитра.
  2. Добавить другой узел, несущий данные.
  3. Добавить два элемента, несущих данные, плюс один арбитр.
  4. Добавить арбитр.
  5. Повысить приоритет первого сервера от одного до двух.
+3

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

ответ

0

Этот вопрос касается большинства и тиражирования. Параметр большинства минимально равен - 2/3. Репликация - это возможность реплицировать данные между по меньшей мере двумя серверами. Итак, у нас есть следующая картина:

  1. Добавить два арбитра. (большинство 3/4)
  2. Добавить другой узел, несущий данные. (большинство 2/3)
  3. Добавить два элемента, несущих данные, плюс один арбитр. (большинство 4/5)
  4. Добавить арбитр. (Большинство 2/3)
  5. Увеличить приоритет первого сервера от одного до двух. (Ничего для большинства)

Теперь, вы должны выяснить правильное большинство и думать о том, какой из оставшихся вариантов будет охватывать репликацию.