Должен ли я использовать имя хоста или IP-адрес для строки подключения mongodb

Я установил набор реплик MongoDB с 3 узлами. Все сервера живут в одном VPC, но в разных зонах доступности. Благодаря файлу etc/hosts, пока я описываю, где найти другие узлы, мой набор реплик может обмениваться данными между узлами. Мой файл etc/hosts выглядит так на всех трех узлах.

127.0.0.1 localhost mongo0.example.com
Private IP 1 mongo0.example.com
Private IP 2 mongo1.example.com
Private IP 3 mongo2.example.com

Теперь сервер приложений должен подключиться к набору реплик. Должен ли я использовать IP-адреса узлов в строке подключения или следует использовать имена хостов?

mongodb://private_ip1:27017,private_ip2:27017,private_ip3:27017/dbname?replicaSet=rs0 or mongodb://mongo0.example.com:27017,mongo1.example.com:27017,mongo2.example.com:27017/dbname?replicaSet=rs0

Если это последнее (имена хостов), должен ли я настроить /etc/hosts сервера приложений, как каждый из узлов mongo?


person Laurent Rivard    schedule 22.07.2016    source источник


Ответы (1)


Использование IP-адреса, как правило, является плохой идеей, так как его может потребоваться изменить много раз. Если это вообще возможно, я бы придерживался имен хостов.

И да, вам необходимо убедиться, что все члены реплик и любые серверы приложений или клиентские компьютеры могут разрешать имена (при необходимости используя /etc/hosts).

См. также этот поток для более подробного объяснения.

person helmy    schedule 22.07.2016