Моя установка MongoDB состоит из набора реплик из 3-х узлов.Каждый узел находится на отдельной машине ec2
в AWS
.Мое приложение работает в докере.
Сейчас у меня есть один mongos
на одном из компьютеров ec2
.В случае сбоя этой машины мое приложение не сможет подключиться к MongoDB (одна единственная точка отказа).
Возможные решения:
- Работать
mongos
на каждомec2
машина.Затем я бы поместил 3 хоста / порта в queryString
для подключения с помощью драйвера C # (если это возможно).Проблема: Могу ли я передать 3 различных mongos
, указывающих на одни и те же узлы в одном queryString
, для использования клиентом C # в качестве отработки отказа? - Предоставить общий доступ к процессу моего приложения с локальным
mongos
вкаждый из моих докеров приложений.Проблема: теперь мое приложение делится своим процессом с mongos
.
Как я могу убедиться, что у моего MongoDB нет единой точки отказа?Какова лучшая практика для этого варианта использования?