Назад | Перейти на главную страницу

Разделенный кластер MongoDB и общие серверы наборов реплик

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

Идея состоит в том, чтобы использовать небольшие машины с 7 ГБ ОЗУ и 2 ядрами 2 ГГц:

Я искал и обнаружил, что некоторые люди устанавливали разные реплики узлов, разделяющих шарды, в следующей схеме:

Server 1: shard1, rep-shard2, arbitrer3
Server 2: shard2, rep-shard1, arbitrer2
Server 3: shard3, rep-shard2, arbitrer1

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

Другой вариант - использовать 4 кластера и 2 осколка со следующей схемой, которая мне не очень нравится (1 узел больше, 1 осколок меньше), но, возможно, было бы лучше с точки зрения производительности.

Server1: shard1,
Server2: rep-shard1 arbitrer2
Server3: shard2,
Server4: rep-shard2 arbitrer1