Как популярные сайты обрабатывают миллионы подключений каждую секунду

Узнайте, как веб-сайты справляются с огромными объемами трафика

Миллионы людей пользуются Интернетом каждый день. Каждый из этих людей в течение дня подключается к целому ряду веб-сайтов и сервисов; некоторые веб-сайты самостоятельно обслуживают миллионы таких подключений. Крупнейшие сайты в Интернете, такие как Facebook и YouTube, обслуживают миллиарды людей по всему миру, и любой простой в работе означает серьезную потерю дохода.

Существует ряд методов, которые могут использовать веб-сайты для обеспечения постоянной доступности своих услуг и поддержания работоспособности своих серверов. Если не принять меры для обработки большого объема трафика, существует предел количества пользователей, которых веб-сайт может обслуживать одновременно. Если веб-сайт испытывает неожиданно высокий объем трафика, он может стать недоступным для всех желающих.

Популярность Facebook
Facebook — один из самых популярных сайтов в Интернете. Платформа социальной сети имеет миллиарды пользователей по всему миру и обслуживает миллионы из них одновременно. Мы все знаем, что Facebook популярен, но уровень его успеха и глубина охвата до сих пор удивляют некоторых людей. Например, более 10 миллионов сообщений отправляется между пользователями Facebook, пока они в совокупности нажимают кнопку "Мне нравится" более 4.5 миллиардов раз каждый день.

Для того чтобы справиться с огромным объемом трафика, Facebook объединил существующие методы с собственной запатентованной технологией. Это позволяет им минимизировать нагрузку на каждый отдельный сервер, а также сократить объем данных, которые необходимо отправлять и получать между пользователями и серверами. Это очень важно, учитывая, как много пользователей Facebook остаются на связи с сервисом через свои мобильные устройства в течение дня. Это не только улучшает пользовательский опыт, но и позволяет Facebook максимально снизить затраты на эксплуатацию этих серверов.

Поддержание серверов в режиме онлайн
Серверы хранят контент, необходимый для работы веб-сайтов и онлайн-сервисов. Каждый раз, когда вы загружаете веб-сайт или онлайн-сервис, вы загружаете необходимые данные с веб-сервера, на котором он размещен. Данные отправляются с веб-серверов пользователям в виде пакетов, при этом отдельные файлы разбиваются на тысячи крошечных пакетов. Это позволяет разным пользователям скачивать разные части файла и дает возможность большему количеству пользователей скачивать один файл, не вызывая замедления работы.

Но одного этого недостаточно после определенного момента. Самые загруженные онлайн-серверы должны принимать дополнительные меры, чтобы обеспечить постоянную работоспособность. Для таких компаний, как Facebook, каждая минута простоя — это потерянный доход и разгневанные пользователи. Онлайн-сервисы, получившие репутацию ненадежных в плане времени бесперебойной работы серверов, будут бороться за создание своей пользовательской базы.

Первая линия защиты от простоя сервера — избыточность. Это просто означает, что если сервер недоступен, пользователи будут перенаправлены на резервный сервер. Серверы предназначены для обработки нескольких одновременных соединений, но для самых загруженных веб-сайтов требуются более мощные серверы. Как и в случае с любым электронным устройством, существует вероятность отказа оборудования. Если жесткий диск сервера сломается без резервного копирования, данные могут быть безвозвратно утеряны.

Балансировка нагрузки
Балансировка нагрузки — это как раз то, на что похоже: обеспечение распределения вычислительной нагрузки, необходимой для обслуживания всех подключенных пользователей, между несколькими серверами. Онлайн-сервисы, такие как Facebook, обрабатывают слишком много соединений, чтобы с ними мог справиться один сервер. Каждый раз, когда сервер получает новый запрос, сервер доменных имен перебирает IP-адреса, связанные с доменом, по кругу. Это отличное решение для многих сайтов, но крупнейшие онлайн-сервисы используют собственные протоколы для балансировки нагрузки.

Когда вы подключаетесь к Facebook, ваше соединение автоматически перенаправляется на сервер, способный справиться с нагрузкой. Если сервер будет перегружен, Facebook прекратит отправлять туда новые соединения. Раньше для балансировки нагрузки требовалось физическое оборудование, которое все еще иногда используется, но теперь это можно сделать и в облаке.

Балансировка нагрузки — это не только минимизация времени простоя; она также выполняет практическую экономическую функцию. Рассмотрим такой бизнес, как Facebook, который имеет множество серверов, работающих по всему миру. Когда сервер простаивает и не обрабатывает запросы пользователей, он потребляет очень мало энергии. Однако по мере увеличения числа подключающихся пользователей серверу приходится работать интенсивнее и потреблять больше энергии. Вы можете увидеть тенденцию и сделать необходимые расчеты.

Facebook обнаружил, что в периоды затишья серверы потребляли больше энергии, чем в периоды простоя, как и ожидалось. Но вот чего не ожидали, так это того, что серверы со средней нагрузкой потребляют примерно столько же энергии, сколько и серверы с низкой нагрузкой. Поэтому для Facebook экономически выгоднее, чтобы его серверы работали на средней мощности или простаивали, а не находились под низкой нагрузкой.

Обеспечение безопасности серверов
Сервер — это физический объект, машина, которая может быть повреждена или сломана. Если сервер физически поврежден или разрушен, он не сможет принимать входящие соединения. Это означает, что проблема в центре обработки данных — отключение электричества, стихийное бедствие или даже проблемы с водопроводом — может привести к тому, что жизненно важные серверы станут недоступными.

Как и любой компьютер, сервер может сильно нагреваться при высокой нагрузке на процессор. Помимо систем охлаждения, встроенных в сами серверы, в центрах обработки данных, где размещаются серверы, поддерживается кондиционирование и прохлада. Фактически, системы климат-контроля также контролируют влажность, не позволяя окружающей среде стать слишком влажной.

В зависимости от места расположения центра обработки данных может потребоваться его проектирование с учетом возможности стихийных бедствий. Центры обработки данных в Калифорнии, например, размещаются в сооружениях, спроектированных таким образом, чтобы выдерживать землетрясения, а сами серверные стойки укреплены и спроектированы таким образом, чтобы не разрушаться. Крупнейшие технологические компании имеют серверы, расположенные по всему миру, поэтому проблема в одном центре обработки данных не влияет на всю сеть.

Защита и мониторинг
Распределенная атака типа "отказ в обслуживании" (DDoS) — это тип кибератаки, при которой используется несколько одновременных соединений, чтобы перегрузить интернет-сервер и сделать его недоступным. В центрах обработки данных работают инженеры, которые отслеживают необычный трафик в сети и реагируют на любые угрозы. Это в дополнение к ряду автоматизированных методов, которые обычно используются для предотвращения DDoS-атак.

Однако даже при наличии таких средств защиты успешные DDoS-атаки все равно происходят и могут вызвать серьезные проблемы для центров обработки данных и их клиентов. Поэтому в центрах обработки данных должны быть предусмотрены процедуры реагирования на DDoS-атаки при их обнаружении.

Серверы самых популярных веб-сайтов и онлайн-сервисов сегодня обслуживают тысячи соединений. Поскольку миллионы пользователей получают доступ к услугам одновременно, для того чтобы серверы не перегружались, компаниям необходимо иметь соответствующую инфраструктуру. Разумная балансировка нагрузки между несколькими серверами позволяет веб-сайтам использовать имеющиеся ресурсы максимально эффективно, а резервирование гарантирует наличие резервных копий, если что-то пойдет не так.

Каждый раз, когда вы подключаетесь к веб-сайту или прокручиваете свою ленту Facebook, вы загружаете контент с разных серверов. Для конечного пользователя все происходит быстро и почти мгновенно, но за кулисами происходит гораздо больше, чем кажется на первый взгляд. Без мер по правильному распределению нагрузки серверы крупнейших веб-сайтов быстро перегрузятся.

Оцените статью
Добавить комментарий