это оптимальная минимальная настройка для mongodb, чтобы учесть шардинг / масштабирование? - PullRequest
1 голос
/ 16 апреля 2011
3 instances for config servers
1 instance for webserver & mongos
1 instance for shard 1

тогда когда мне нужно запустить больше шардов, я могу просто добавить больше экземпляров?

также, что такое набор реплик? если бы я сказал 3 сервера для шарда 1, то это набор реплик?

1 Ответ

13 голосов
/ 17 апреля 2011

A Набор реплик - это набор компьютеров, которые являются клонами друг друга.( т.е.: реплики ) В данном наборе есть избранный мастер.По умолчанию операции чтения и записи отправляются на этот выбранный мастер, а реплики просто «следят» за изменениями, чтобы быть актуальными копиями.Если мастер отказывает, выбирается новый, и система просто продолжает работать.Документация здесь .

Итак, вы спрашиваете о масштабировании с MongoDB.Существует два типа масштабирования:

  • Масштабирование чтения: используйте наборы реплик (см. здесь )
  • Масштабирование записи: используйте Sharding

Минимальная конфигурация для наборов реплик составляет - 2 полных реплики - 1 арбитр (упрощенный процесс, разрывает связи при голосовании)

Минимальная конфигурация для Sharding - 1 сервер конфигурации - 1 mongod процесс (только один осколок) - 1 или более mongos (как правило, на сервере приложений)

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

Кроме того, сервер конфигурации довольно важен.MongoDB поддерживает 1 или 3 сервера конфигурации.В большинстве производственных развертываний используется 3. Обратите внимание, что серверы конфигурации и арбитры очень легкие и могут работать в других системах или на микроинстанциях Amazon.

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

тогда, когда мне нужно запустить больше шардов, я могу просто добавить больше экземпляров?

С точки зрения шардинга это должно быть таким же простым, как: - запустить новый сервер шардов - запустить команду addshard из mongos

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...