【问题标题】:getaddrinfo destination address selection logicgetaddrinfo 目的地址选择逻辑
【发布时间】:2017-01-01 17:01:32
【问题描述】:

我正在尝试使用 DNS 服务器在 8 个节点之间进行负载平衡。设置就像我将映射一个主机名,例如带有 8 个 ip 的 my.example.com,并将我的 DNS 服务器配置为该域的 ttl 为 1。

ips 就像 10.9.20.31 - 34 和 10.9.20.21 - 24。期望就像每秒后我将获得一个新的 ip 范围从 31-34 和 21-24,而我使用 getaddrinfo 解决。但我看到只有 33 和 34 得到解决,所有其他 ip 都没有得到解决。 (ie) getaddrinfo 的排序逻辑总是优先选择 33 和 34。

是否可以让 getaddrinfo 使用所有 ip。我浏览了 /etc/gai.conf 但不太确定设置。有人可以给我输入来克服这个问题吗?

谢谢,

【问题讨论】:

    标签: c glibc


    【解决方案1】:

    原来IP地址排序逻辑是getaddrinfo库函数最重要的特性。它根据 RFC3484 工作,主要阻碍我们的是用于目标地址选择的规则 #9。

    我们无法关闭它。但是我们可以配置我们的 IP,这样排序算法就不会被触发。我所做的一种方法是在不同的子网中拥有源 IP 和目标 IP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 2012-03-10
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多