В официальной документации Mongodb говорится, что
«Каждый участник сегментированного кластера должен иметь возможность подключаться ко всем другим участникам кластера. Это включает в себя все сегменты и серверы конфигурации. Убедитесь, что сетевые системы и системы безопасности, включая все интерфейсы и брандмауэры, разрешают эти подключения». (https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/).
Теперь, конечно, это имеет смысл для серверов конфигурации, но мне кажется довольно расстраивающим, что все осколки кластера ДОЛЖНЫ видеть другие.
Во-первых, я не обязан активировать балансировщик, и, поскольку я могу также логически отсоединять все шарды с зонами, я не понимаю, почему я должен позволять всем шардам видеть друг друга (что сильно усложняет инфраструктуру).
Например, в реальной распределенной сети это настоящий беспорядок, когда все сегменты взаимодействуют (вам нужно создать и использовать конкретный VPN), особенно если они обрабатывают конфиденциальные данные в разных сегментах (по одному на каждого клиента), и они НЕ должен видеть друг друга.
Итак, есть ли способ избежать этой проблемы, когда все осколки видят друг друга или нет вообще?
Спасибо за вашу поддержку!