Какое минимальное количество серверов для производственного кластера mongoDB?

11

В документации mongoDB для архитектуры производственного кластера я прочитал, что минимальное количество серверов для работающего производственного кластера mongoDB составляет 7:

кластерная архитектура mongoDB

Можно ли совместно использовать маршрутизаторы, серверы конфигурации и шарды на одних и тех же серверах (имея всего 3 сервера, каждый со службой маршрутизатора, конфигурации и шардов)?

Мат
источник
1
IIRC, вы можете запускать shard и config в одних и тех же экземплярах, а маршрутизатор работает на ваших существующих серверах приложений, поэтому вы действительно можете иметь безопасный производственный кластер на трех серверах.
ceejayoz
Большое спасибо! Я использую балансировщик нагрузки для балансировки и восстановления после отказа моих кластеров. Смогу ли я использовать его и для моего кластера mongoDB? Мне понадобится кластер из трех узлов, полностью реплицированный на все три узла, поэтому один сегмент на трех главных узлах (все узлы должны принимать запросы и обновления). Было бы возможно?
Мат

Ответы:

13

Минимальное количество - 1 сервер. Если под «производством» вы подразумеваете «отказоустойчивый», то минимальное число равно 3: у вас есть набор реплик, содержащий 3 сервера. Серверы конфигурации также работают на этих серверах. Если вы хотите включить «горизонтальное масштабирование», т.е. «веб-масштаб!» тогда минимальное число равно 9: у вас есть 2 сегмента, состоящих из наборов реплик из 3 серверов и еще 3 серверов в качестве серверов конфигурации. Если вы включаете свое приложение, а не просто mongodb, то добавьте два своих сервера приложений в смесь в общей сложности 11 (это будет 11!).

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

Марк Вагнер
источник
Привет Марк, я возвращаюсь к этому аргументу, потому что у меня есть вопрос о: я имею в виду отказоустойчивый кластер MongoDB. Я понимаю, что требуется 9 серверов, если я хочу, чтобы MongoDB также работал в качестве балансировщика нагрузки, но что, если я создаю три набора реплик и использую HAProxy в качестве балансировщика нагрузки, как я делаю на MariaDB с Galera?
Мат