2015-04-30 2 views
0

Я знаю, что mongodb имеет архитектуру ведущего-ведомого.mongodb Single Point of Failure

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

Есть ли у mongoDB одна точка отказа? Это в главном узле?

Благодаря,

+0

Пожалуйста, задавайте вопросы, касающиеся администрирования MongoDB на https://dba.stackexchange.com. Я выдвинул ваш вопрос о миграции. – Philipp

+0

нет такой вещи, как «мастер», есть набор реплик с одним примаром и многими второстепенными, когда первичный спускается с новой, которую второстепенные перенимают как первичный. Таким образом, нет единственной точки отказа. Подробнее читайте здесь: http://docs.mongodb.org/manual/replication/ – nickmilon

+0

@nickmilon Не совсем корректно. Посмотрите здесь http://docs.mongodb.org/manual/core/master-slave/ –

ответ

2

MongoDB может быть настроен таким образом, что не существует единой точки отказа (по крайней мере, ни один конкретный для MongoDB).

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

Когда у вас есть осколочный кластер, процесс маршрутизатора mongo (mongos), а серверы конфигурации становятся дополнительными возможными точками отказа, но вы также можете настроить повторные маршрутизаторы и серверы конфигурации. Чтобы отправить клиентов на другой сервер mongos, когда они уходят, вам нужно решение для балансировки нагрузки сторонних производителей.

Для a proper production MongoDB setup with clustering, MongoDB Инк предлагает:

  • По крайней мере, 2 mongos маршрутизаторы
  • Ровно 3 конфигурации сервера
  • 3 сервера на осколок (первичный, вторичный и арбитром), где арбитры не обязательно нужны выделенные серверы и могут обмениваться оборудованием с маршрутизаторами, серверами конфигурации, членами различных серверов реплик или приложений приложений.