我尝试解析域名三次,得到了三个不同的 IP 地址。这三次 ping 操作都发生在几秒钟之内。这是正常的吗?我不认为 DNS 服务器可以更新得这么快,所以我猜这与负载平衡有关。
到目前为止,我只在 bestbuy.com 上注意到了这个问题,我尝试了一下,因为一位朋友报告说,昨晚访问 bestbuy.com 时他被重定向到 Best Buy Turkey 和 Best Buy Korea。
G:\>ping bestbuy.com
Pinging bestbuy.com [77.67.19.107] with 32 bytes of data:...
G:\>ping bestbuy.com
Pinging bestbuy.com [69.31.49.74] with 32 bytes of data:...
G:\>ping bestbuy.com
Pinging bestbuy.com [69.31.49.73] with 32 bytes of data:...
答案1
(对于 serverfault 来说这可能是一个更好的问题,但是......)
如果您在 bestbuy.com 上执行 nslookup:
localhost /home/me > nslookup
Default Server: #############.com
Address: 192.168.252.11
> bestbuy.com
Server: ####################.com
Address: 192.168.252.11
Non-authoritative answer:
Name: bestbuy.com
Addresses: 77.67.19.120, 77.67.19.107
>
请注意,有多个 IP 地址与此 IP 名称相对应。这样做的主要目的是提供故障转移。如果其中一个 Web 场发生 DOA,则另一个将继续接受入站流量。这样做的积极副作用是,当一切正常运行时,他们可以在两个 Web 场之间共享流量负载。
答案2
这个问题的网站不对,但我猜是负载平衡
答案3
原因是 bestbuy.com 区域的区域文件包含条目 @ 的多个 A 记录,例如:
@ IN A 77.67.19.120
@ IN A 77.67.19.107
这样做是为了平衡负载。
答案4
看看挖掘:
# dig bestbuy.com
; <<>> DiG 9.5.0-P2.1 <<>> bestbuy.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 395
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;bestbuy.com. IN A
;; ANSWER SECTION:
bestbuy.com. 20 IN A 173.223.232.48
bestbuy.com. 20 IN A 173.223.232.98
;; Query time: 52 msec
;; SERVER: 72.249.191.254#53(72.249.191.254)
;; WHEN: Sat Aug 14 14:26:35 2010
;; MSG SIZE rcvd: 61
如上所述,他们这样做是为了实现负载平衡、故障转移等...但这是一种非常不安全的方法,因为 DNS 负载平衡的工作方式接近循环:每次您请求主机名时,DNS 服务器都会使用池中的一个进行响应(就像您在 ping 中看到的那样)。不幸的是,这意味着如果其中一个“服务器”出现故障,一半的请求将失败。
最好使用真正的负载均衡器或 VIP(虚拟 IP)来实现。