【问题标题】:Should I use hostname or IP address for mongodb connection string我应该为 mongodb 连接字符串使用主机名还是 IP 地址
【发布时间】:2016-07-22 01:47:03
【问题描述】:

我设置了一个包含 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

如果是后者(主机名),我应该像每个 mongo 节点一样配置应用服务器的 /etc/hosts 吗?

【问题讨论】:

    标签: mongodb replicaset mongodb-replica-set


    【解决方案1】:

    使用 IP 地址通常是个坏主意,因为它们可能需要多次更改。如果可能的话,我会坚持使用主机名。

    是的,您需要确保所有副本成员任何应用服务器或客户端计算机都可以解析名称(必要时使用 /etc/hosts)。

    另请参阅this thread 以获得更详尽的说明。

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 2021-09-14
      • 1970-01-01
      • 2015-05-24
      • 2010-09-09
      • 2012-01-29
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多