Я пытаюсь понять, как работают массивные сайты, такие как Facebook или Википедия, для моего интеллектуального любопытства. Я читал о различных методах построения масштабируемых сайтов, но все еще озадачен одной конкретной деталью.
Меня смущает то, что в конечном итоге DNS сопоставит весь домен с одним IP-адресом или несколькими IP-адресами в случае циклического DNS.
Например, в wikipedia.org есть только одна DNS-запись типа A. Таким образом, люди со всего мира, посещающие Википедию, должны отправить запрос на один IP-адрес, указанный в DNS.
Что такое аппаратное обеспечение, которое прослушивает IP-адрес для массивного сайта, и как оно может справиться со всей нагрузкой, исходящей от запросов пользователей во всем мире?
Изменить 1: Спасибо за все ответы! Anycast выглядит как выполнимый ответ ... Кто-нибудь знает способ проверить, маршрутизируется ли какой-либо конкретный IP-адрес, чтобы я мог убедиться, что это действительно прием, используемый на практике большими сайтами?
Редактировать 2: После прочтения этой темы, похоже, что anycast обычно не используется для динамического веб-контента. Anycast обычно используется для UDP (например, поиска DNS), а иногда и для статического контента.
Интересно отметить, что Facebook использует profile.ak.fbcdn.net для размещения статического контента, такого как таблицы стилей и библиотеки javascript. Каждый раз, когда я пингую это имя, я получаю ответ с другого IP-адреса. Тем не менее, я не могу сказать, является ли это anycast в действии, или совершенно другой метод.
Возвращаясь к моему первоначальному вопросу: насколько я могу судить, даже на большом сайте будет один дорогой аппарат балансировки нагрузки, прослушивающий несколько открытых IP-адресов.