Изучение A
записи для youtube.com
(например) я вижу только один IP-адрес.
Как это возможно, учитывая объем обрабатываемого ими трафика?
Они используют anycast с балансировщиками нагрузки?
Есть несколько особенностей, которые, вероятно, способствуют тому, что вы видите:
Anycast и географическая балансировка помогут распределить нагрузку так, чтобы пользователь не видел более одного или нескольких IP-адресов. Балансировщики нагрузки повысят надежность в одном центре обработки данных, поэтому мы надеемся, что эти несколько IP-адресов не будут подвержены единичным точкам отказа.
Несмотря на вопрос и подтверждение в комментариях, я вижу больше IP-адресов для youtube:
$ dig youtube.com A
; <<>> DiG 9.8.1-P1 <<>> youtube.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 195
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;youtube.com. IN A
;; ANSWER SECTION:
youtube.com. 300 IN A 173.194.33.163
youtube.com. 300 IN A 173.194.33.164
youtube.com. 300 IN A 173.194.33.165
youtube.com. 300 IN A 173.194.33.166
youtube.com. 300 IN A 173.194.33.167
youtube.com. 300 IN A 173.194.33.168
youtube.com. 300 IN A 173.194.33.169
youtube.com. 300 IN A 173.194.33.174
youtube.com. 300 IN A 173.194.33.160
youtube.com. 300 IN A 173.194.33.161
youtube.com. 300 IN A 173.194.33.162
;; Query time: 14 msec
;; SERVER: 172.16.0.23#53(172.16.0.23)
;; WHEN: Wed Aug 26 23:45:18 2015
;; MSG SIZE rcvd: 205
С такими крупными сайтами, как youtube, можно использовать ряд стратегий:
Не все получают одинаковый IP-адрес. Разные DNS-запросы будут разными A
записи возвращаются. Иногда возвращаются разные IP-адреса на основе географических показателей (вы получаете «близкий к вам» IP-адрес), а некоторые вариации предназначены только для целей балансировки нагрузки.
На «главный» сайт попадает очень мало запросов. Если вы изучите полный набор запросов, которые входят в сборку страницы, запрошенной из youtube.com
, вы заметите, что подавляющее большинство из них переходит в другие домены, которые обрабатываются отдельно.
Много-много балансировщиков нагрузки. Как только запрос попадает на один IP-адрес, очень эффективные и хорошо масштабируемые балансировщики нагрузки направляют запросы на очень большое количество интерфейсных веб-серверов.
Многие машины обслуживают один запрос. Внешние веб-серверы выполняют очень мало работы, связанной с фактическим обслуживанием запроса. В основном они предназначены для анализа HTTP и маршрутизации на Больше уровни серверов, каждый кластер которых выполняет очень маленькую и специализированную часть более крупной задачи по созданию страницы. У меня нет справки, но я помню, как несколько лет назад читал статью, в которой говорилось, что каждый поисковый запрос Google будет вызывать запуск кода на более чем сотне отдельных серверов для генерации ответа.
Надеюсь, это немного проясняет вам ситуацию. Если у вас есть еще вопросы, вероятно, будет лучше создать новый, четко определенный вопрос, а не проводить длительное обсуждение в комментариях.
Google / Youtube (а также многие другие компании, в частности CDN) размещают серверы вместе со многими интернет-провайдерами, а затем DNS возвращает IP-адреса этих серверов. Это объясняет, почему одни люди могут видеть только один IP, а другие - десяток.
Таким образом, сервер, который вы видите, на самом деле может находиться не в центре обработки данных Google, а всего в нескольких милях от вашего дома / офиса, где бы ни находился головной узел провайдера. Иногда вы можете понять, где находится сервер, с помощью служебной программы traceroute (tracert в Windows) и / или обратного DNS.
Следовательно, эти серверы также не будут обслуживать весь трафик в мире, а будут обслуживать только трафик из одного города, а иногда только от одного интернет-провайдера в этом городе.
Конечно, на этих серверах нет все знаний Google; они являются интерфейсом и, вероятно, также имеют довольно много кеширования и т. д. Все, что они не знают, они отправят в центр обработки данных Google, как описал Вомбл.