我已经设置了一个包含 3 个节点的 MongoDB 副本集。所有服务器都位于同一个 VPC 中,但位于不同的可用区中。多亏了etc/hosts
文件,当我描述在哪里可以找到其他节点时,我的副本集能够在节点之间进行通信。我的etc/hosts
文件在所有 3 个节点上都是这样的。
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
或者
mongodb://mongo0.example.com:27017,mongo1.example.com:27017,mongo2.example.com:27017/dbname?replicaSet=rs0
如果是后者(主机名),我应该/etc/hosts
像每个 mongo 节点一样配置应用服务器吗?