Я получил три разных IP-адреса при трех попытках разрешить доменное имя. Все три пинга произошли с интервалом в несколько секунд. Это нормально? Я бы не подумал, что DNS-серверы можно обновлять так быстро, поэтому я предполагаю, что это как-то связано с балансировкой нагрузки.
Пока что я заметил это только на сайте bestbuy.com, и попробовал, потому что друг сообщал, что он был перенаправлен на Best Buy Turkey и Best Buy Korea вчера вечером при посещении bestbuy.com.
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:...
(Возможно, лучший вопрос для serverfault, но ...)
Если вы выполните nslookup на bestbuy.com:
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-адресов. Основная цель этого - обеспечить аварийное переключение. Если одна из их веб-ферм перейдет на DOA, другая продолжит принимать входящий трафик. Положительным побочным эффектом этого является то, что когда все работает нормально, они могут распределять нагрузку трафика между двумя фермами.
Причина этого в том, что файл зоны для зоны bestbuy.com содержит несколько записей A для записи @, например:
@ IN A 77.67.19.120
@ IN A 77.67.19.107
Это сделано для балансировки нагрузки.
Неправильный сайт для этого вопроса, но я предполагаю, что балансировка нагрузки
Посмотрите на копать:
# 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-сервер отвечает с один из пула (как вы видите, что происходит в вашем пинге). К сожалению, это означает, что в случае выхода из строя одного из «серверов» половина запросов не удастся.
Лучше реализовать это с помощью настоящего балансировщика нагрузки или VIP (виртуальный IP-адрес).