我正在尝试使用DNS服务器在8个节点之间进行负载平衡设置就像我将映射一个主机名,比如my.example.com和8 ip,并为这个域配置ttl为1的DNS服务器。
ips是10.9.20.31-34和10.9.20.21-24这种期望就像在每一秒之后,我将得到一个31-34和21-24之间的新ip,而我使用getaddrinfo解决这个问题但我看到只有33和34得到解决,所有其他知识产权都没有得到解决(ie)getaddrinfo的排序逻辑总是倾向于33和34。
是否可以让getaddrinfo使用所有的ips我浏览了/etc/gai.conf,但不太确定设置有人能给我一些意见来克服这个问题吗。
谢谢,
最佳答案
结果表明,IP地址排序逻辑是getaddrinfo库函数最重要的特性它是根据RFC3484工作的,而我们遇到的主要问题是目的地地址选择的规则9。
我们不能关掉它但是我们可以配置我们的IPs,这样排序算法就不会被触发一种方法是在不同的子网中设置源和目标IP。
关于c - getaddrinfo目标地址选择逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39142291/