DNS 轮询机制会受到多方面的影响,如:A记录的TTL时间长短的影响;别的 DNS 服务器 Cache 的影响;windows 客户端也有一个DNS Cache。这些都会影响 DNS 轮询的效果。因此 DNS 的轮询机制并不能做为一个 load balancing的解决方案,只能作为一个 load distribution 方案。
不过有一个参数你可以试试看是否能调整一下轮询的效果:
在 named.conf 中可以设置 bind 的 round-robin 的给出结果的顺序:
options {
rrset-order { order random; };
};
rrset-order 支持三个参数:fixed, random, cyclic 。
fix 会将多个A记录按配置文件的顺序固定给出
random 会随机给出
cyclic 会循环给出.