Что такое контент сервера
Перейти к содержимому

Что такое контент сервера

  • автор:

Что такое CDN?

Сеть доставки контента (CDN) – это сеть взаимосвязанных серверов, которая ускоряет процесс загрузки веб-страниц приложений с высокой нагрузкой. Аббревиатура CDN расшифровывается как «content delivery network» (сеть доставки контента) или «content distribution network» (сеть распределения контента). Когда пользователь заходит на веб-сайт, данные, хранящиеся на сервере этого веб-сайта, проходят через Интернет, прежде чем достичь компьютера пользователя. Если пользователь находится далеко от сервера, такие большие файлы, как видео или изображения, могут долго загружаться. Вместо этого контент веб-сайтов хранится на серверах CDN, которые географически расположены ближе к пользователям и поэтому могут намного быстрее достичь их компьютеров.

Почему CDN играет важную роль?

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

CDN повышает эффективность, внедряя промежуточные серверы между клиентами и серверами веб-сайтов. Такие серверы CDN управляют некоторыми передачами данных между клиентами и серверами. Они сокращают сетевой трафик на веб-серверах, уменьшают пропускную способность и улучшают удобство пользования вашими приложениями.

В чем заключаются основные преимущества CDN?

Сети доставки контента (CDN) обеспечивают множество возможностей, которые повышают производительность веб-сайтов и поддерживают инфраструктуру базовой сети. Например, CDN может выполнять указанные ниже задачи.

Сокращение времени загрузки страниц

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

Уменьшение стоимости обеспечения пропускной способности

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

Повышение доступности контента

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

Повышение безопасности веб-сайтов

Распределенные атаки типа «отказ в обслуживании» (DDoS) пытаются остановить приложения, отправляя большое количество фальшивого трафика на веб-сайты. Сети CDN справляются с пиками трафика, распределяя нагрузку между несколькими промежуточными серверами, что позволяет уменьшить воздействие на сервер источника.

Как развивалась технология CDN?

Технология сети доставки контента (CDN) появилась в конце 1990-х годов с целью обеспечения оперативной доставки контента через Интернет.

Первое поколение

Сервисы CDN первого поколения были ориентированы на принципы интеллектуального управления сетевым трафиком и на центры обработки данных для репликации.

Второе поколение

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

Третье поколение

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

Какой интернет-контент могут доставлять сети CDN?

Сеть доставки контента (CDN) может передавать два типа контента: статический и динамический.

Статический контент

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

Динамический контент

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

В чем состоит принцип работы CDN?

Принцип работы сетей доставки контента (CDN) заключается в открытии точек присутствия (POP) или группы периферийных серверов CDN в нескольких географических местоположениях. Географически распределенная сеть работает на основе принципов кэширования, динамического ускорения и периферийных логических вычислений.

Кэширование

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

  1. Посетитель географически удаленного веб-сайта отправляет первый запрос на статический веб-контент.
  2. Затем запрос достигает сервера интернет-приложения или источника. Сервер источника отправляет ответ удаленному посетителю. Кроме того, он параллельно высылает копию ответа точке присутствия (POP) сети CDN, расположенной в непосредственной географической близости к посетителю сайта.
  3. Сервер точки присутствия (POP) сети CDN сохраняет копию в качестве кэшированного файла.
  4. В следующий раз, когда этот или любой другой посетитель из этого местоположения отправит аналогичный запрос, кэширующий сервер вышлет им ответ вместо сервера источника.

Динамическое ускорение

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

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

  • Алгоритмы для интеллектуальной маршрутизации
  • Географическая близость к источнику
  • Способность обработки запросов клиентов, что позволяет уменьшить их размер

Периферийные логические вычисления

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

  • мониторинг запросов пользователей и изменение поведения кэширования;
  • проверка и устранение неправильных запросов пользователей;
  • изменение или оптимизация контента перед отправкой ответа.

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

Для чего используется CDN?

Сеть доставки контента (CDN) помогает улучшить привычные функции веб-сайтов и повысить удовлетворенность клиентов. Ниже приведены некоторые примеры использования.

Высокоскоростная доставка контента

Соединив доставку статического и динамического интернет-контента, с помощью сетей CDN вы можете предоставить своим клиентам возможность пользоваться функционалом глобального высокопроизводительного сайта. Например, Reuters – крупнейший в мире оптовый поставщик информационных сводок для таких ведущих новостных каналов, как BBC, CNN, New York Times и Washington Post. Основная задача Reuters как агентства новостей – оперативная доставка новостного контента клиентам со всего мира. Reuters использует сервис CDN Amazon CloudFront c Простым сервисом хранения данных Amazon (Amazon S3), чтобы уменьшить зависимость от спутниковой связи и создать экономичную высокодоступную и надежную глобально распределенную сетевую платформу.

Потоковая передача в режиме реального времени

Сети CDN помогают надежно и экономично доставлять высококачественные мультимедийные файлы. Аудио- и видеостриминговые компании используют сети CDN, чтобы решить три задачи: уменьшить стоимость обеспечения пропускной способности, увеличить масштаб и сократить время доставки контента. Например, Hulu – это онлайн-платформа для потоковой передачи видео, принадлежащая Walt Disney Company. Этот сервис использует Amazon CloudFront, чтобы непрерывно транслировать более 20 Гбит/с данных для своей постоянно растущей клиентской базы.

Масштабирование пользователей

Сети CDN позволяют поддерживать большое количество одновременных пользователей. Ресурсы веб-сайтов могут справиться только с ограниченным количеством одновременных подключений клиентов. С помощью сетей CDN можно оперативно его увеличить, приняв на себя нагрузку от серверов приложений. Например, King – компания, которая занимается разработкой кроссплатформенных игр на основе социальных сетей, в которые можно играть в любое время, в любом месте и на любом устройстве. Более 350 миллионов геймеров играют в 10,6 миллиардов игр компании King в день на их платформе.

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

King использует Amazon CloudFront, чтобы доставлять сотни терабайтов контента ежедневно и справляться с резким возрастанием трафика, который достигает половины петабайта и более во время запуска новых игр или крупномасштабных маркетинговых программ.

Что такое Amazon CloudFront?

Amazon CloudFront – это сервис сети доставки контента (CDN), созданный для высокой производительности, безопасности и удобства разработчиков. С помощью Amazon CloudFront вы сможете выполнять нижеперечисленные задачи.

  • Доставка данных через более чем 275 распределенных по всему миру точек присутствия (PoPs) с автоматизированной привязкой к сети и интеллектуальной маршрутизацией.
  • Повышение уровня безопасности с помощью шифрования трафика и контроля доступа, а также бесплатное использование AWS Shield стандартный для защиты распределенных атак типа «отказ в обслуживании» (DDoS).
  • Настраивание кода, запускаемого на периферии сети AWS, с помощью функции бессерверных вычислений, чтобы сбалансировать стоимость, производительность и надежность.
  • Автоматическая масштабируемость для быстрой доставки обновлений программного обеспечения, исправлений игр и IoT.

Начните разработку с помощью AWS CloudFront благодаря бесплатной исходящей передаче данных объемом 50 ГБ на 12 месяцев. Создайте бесплатный аккаунт AWS сегодня.

CDN: что это простыми словами

Тяжесть сайтов увеличивается с каждым годом. Для сравнения: в 2018 году средний вес веб-страниц составлял 1,8 Мб, а в первом полугодии 2023 году достиг 2,3 Мб. При этом пользователи не спешат снижать требования к скорости загрузки сайта и покидают его, если контент не успевает появиться в течение 3 секунд. Согласно исследованиям Google, такое поведение характерно для 53% пользователей. Поведенческие показатели падают, а вместе с ними ухудшается ранжирование сайта в поисковых системах. Если тяжелый сайт находится далеко от части своих целевых посетителей, то для них время ожидания контента может достигнуть еще более критичных значений. Процент отказов продолжит расти с каждой дополнительной секундой до загрузки страницы. Для онлайн-бизнеса, который имеет клиентов по всей стране и за ее пределами, это грозит нулевой конверсией и потерей дохода. Решением проблемы медленной работы сайта является content delivery network (сеть доставки содержимого). В статье рассказываем о том, что такое CDN, когда использовать технологию и что выбрать в качестве альтернативы.

CDN (Content Delivery Network): определение

CDN (Content Delivery Network) — это сеть расположенных в разных географических точках серверов, которые помогают сайтам быстро доставлять пользователям контент и снижают нагрузку на основной сервер (хранящий оригинал данных). CDN-серверы являются дополнительными узлами хранения и передачи данных. В их кэше содержится статический контент. Когда запрос на загрузку сайта поступает от пользователя, который находится на большом расстоянии от центра обработки данных главного сервера, часть его выполняет CDN. Самый близкий к посетителю веб-ресурса CDN-сервер отдает браузеру неизменяемое содержимое сайта, освобождая от выполнения этой задачи основной сервер. Сокращается путь трафика, увеличивается скорость соединения между устройствами, снижается риск перегрузки сервера.

Как работает CDN

Сайт хранится на сервере, который еще можно назвать источником контента или просто — ориджином. Обычно запрос браузера обрабатывается сервером-источником напрямую. Это значит, что он самостоятельно отдает все файлы. Если пользователи веб-ресурса живут в разных уголках Европы, Азии и других частей света, ответ сервера должен преодолеть тысячи километров по оптоволоконным кабелям и несколько раз получать инструкции по прохождению маршрута от разных ретрансляторов. Если ориджин располагается в москвом ЦОД, то для жителей данного региона получение данных пройдет моментально. Расстояние от Москвы до Якутска — 8370 км, отдельные точки подключения могут располагаться еще дальше. Загрузка информации будет длиться несколько минут, дождаться результата смогут единицы пользователей с очень высокой мотивацией. Чтобы сократить время до получения контента клиентом, «тяжелую» часть сайта (бинарные файлы, тексты, изображения, стримы, скрипты) кэшируют на распределенных серверах CDN-сети. Позволить себе сеть CDN-серверов может не каждая компания, поэтому владельцы веб-ресурсов обращаются к CDN-провайдеру.

Распределение контента

Сервер в составе CDN является «точкой присутствия» (Point of Presence) проекта в той или иной локации. Провайдер услуги выбирается по наличию оборудования в нужных зонах. Региональные PoP также носят название edge-серверы. Они подключаются к ориджину и кэшируют данные, когда получают первый запрос от пользователя. Для него загрузка сайта может быть продолжительной. При дальнейших обращениях edge быстро отдает файлы браузерам, так как они уже есть в его памяти. Чтобы убрать неудобство для первых клиентов каждой PoP, владелец проекта может заранее прогреть CDN-сеть.

Для распределения контента между пользователя из разных регионов CDN-сеть использует две популярные технологии: GeoDNS и AnyCast.

GeoDNS. Когда веб-браузер обращается к DNS-серверу сайта, последний находит в пакете запроса публичный IP-адрес пользователя и по нему выбирает ближайшую к клиенту точку присутствия. В основе лежит geoIP — преобразование IP в географические координаты.

AnyCast. Технология использует протокол BGP, являющийся источником информации о соседний сетях и расстоянии до них. CDN устанавливает связь с несколькими маршрутизаторами, которые узнают и через какое-то время сообщают о том, какой из них может обеспечить кратчайший путь к нужному IP адресу, и направляют трафик к нему.

Умение определять IP-адреса пользователей позволяет устанавливать на CDN-сервере географические ограничения на доступ к веб-ресурсу из определенных географических зон.

Кэширование

Со временем устареть может даже статический контент. Чтобы пользователи видели сайт в его актуальном виде, устанавливаются правила кэширования (Caching Rule). Они определяют параметр Time to Live — время жизни. Он устанавливает продолжительность хранения информации в кэше до ного обращения edge к серверу-источнику. Перед новым кэшированием CDN-сервер проходит очистку и подготавливается к загрузке актуальной информации. Данный механизм обозначается термином Purge.

Шилдинг

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

В каких случаях нужно подключать CDN

CDN помогает решать разные задачи проекта от сохранения репутации до экономии на аренде VPS/VDS. Разберем ситуации, в которых проекты не смогут обойтись без CDN:

  • широкая география пользователей (характерно для интернет-магазинов, стриминговых платформ, игровых серверов, крупных новостных порталов, онлайн-банков);
  • быстрое развитие и масштабирование проекта;
  • потребность в стабильной работе веб-проекта (без перегрузки);
  • повышенный риск DDoS-атак (атака на сеть серверов требует очень высоких затрат);
  • обслуживание «медленных запросов» (наличие на сайте ресурсоемких программ и интерактивного медиаконтента);
  • необходимость улучшения пользовательского опыта и индексации поисковыми роботами за счет быстрого ответа сервера;
  • высокие затраты на хостинг (CDN позволяет выбирать менее мощный VDS).

Таким образом, подключение к CDN-сети положительно влияет продвижение проекта в Сети.

Преимущества использования CDN

Без CDN некоторые проекты не смогли бы выдержать конкуренции. Чем больше альтернативных предложений ваш клиент может получить на сторонних веб-ресурсах, тем ниже его мотивация оставаться на сайте с долгой загрузкой. Разберем основные преимущества CDN:

  1. Улучшение SEO — пользователь в считанные секунды получает контент, поисковые роботы учитываю это при индексации и лучше ранжируют сайт.
  2. Отсутствие потребности в приобретении и содержании дорогой ИТ-инфраструктуры — не нужно покупать дополнительные серверы и комплектующие к ним, создавать для их размещения ЦОДы.
  3. Повышение аптайма сайта — низкий риск DDoS-атак, отсутствие нагрузок, превышающих вычислительные возможности сервера, множественное резервирование информации.
  4. Широкий охват аудитории — пользователей привлекает высокая скорость ответа сервера.

С CDN сервер-источник имеет высокую доступность для своих пользователей.

Недостатки и альтернативы CDN

В некоторых случаях настройка CDN-сети может оказаться бесполезной и убыточной. Прежде чем обратиться к провайдеру content delivery network, убедитесь, что технология подходит вашему сайту. Если основным наполнением веб-ресурса является динамический контент, edge-серверы не смогут взять их на себя. Кроме того, обновление данных на CDN-серверах может занимать сутки. Для некоторых проектов такая задержка в отображении актуальной информации может быть критичной. Не подойдет CDN малому бизнесу, клиенты которого живут в одном регионе. Аренда дополнительных серверов не приносит пользы и не окупится.

Оптимизировать работу сайта в этих случаях можно более классическими методами и инструментами SEO:

  • сжать фото, видео и иллюстрации на сайте (с помощью плагинов CMS, графических редакторов, онлайн-сервисов и т. д.);
  • упорядочить подключение JS-скриптов и CSS-стилей;
  • выбор более мощной конфигурации сервера для быстрой генерации HTML-страниц;
  • проверить настройки систем управления базами данных и веб-приложений.

Заключение

CDN-сеть — полезный инструмент, который может сократить количество и длительность периодов в работе сайта, когда он не доступен для конечных пользователей. Он улучшает характеристики веб-ресурса, которые важны для удобного взаимодействия с ним. Однако он подойдет не всем проектам. Иногда сокращать скорость загрузки сайта лучше с помощью обычных SEO-инструментов.

Похожие статьи

Чем отличается контейнеризация от виртуализации

Сегодня существует много подходов к управлению и развертыванию приложений, два наиболее широко используемых из них — это виртуализация и контейнеризация. Обе технологии обеспечивают абстракцию физического оборудования, но отличаются с точки зрения ее (абстракции) уровня, степени изоляции, безопасности, потребления ресурсов и в других аспектах. Вопреки распространенному мнению, контейнеризация и виртуализация не являются взаимоисключающими методами. У них есть свои особенности, но их вполне можно использовать в связке. В статье мы рассказываем, в чем разница между виртуализацией и контейнеризацией: даем краткий обзор для каждой технологии и отдельно говорим об их отличиях.

Что такое контейнеризация

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

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

Операционной системой (ОС) называется программное обеспечение, которое предоставляет интерфейс для взаимодействия с физическими компонентами компьютера. Серверная ОС — особый вид такого ПО, предназначенный для управления большими объемами ресурсов и совершения более сложных вычислений, чем предусмотрено в «домашних» системах, а также для удаленной работы в многопользовательском режиме. Выбору операционной системы следует уделять особое внимание, поскольку она станет фундаментом, на котором будет работать весь серверный стек ПО. От нее зависит производительность, безопасность и управляемость сервера. В статье мы рассказываем о популярных ОС для серверов и объясняем, как их выбирать.

Нажмите дважды, чтобы увеличить

Что такое контент сервера

18 августа 2023

Скопировано

CDN (Content Delivery Network или Сеть доставки контента) — распределенная по географическим точкам сетевая инфраструктура, которая обеспечивает быструю доставку контента пользователям веб-сервисов и сайтов. CDN-серверы стратегически размещаются по местоположениям, чтобы обеспечить минимальное время отклика.

Освойте профессию
«Cистемный администратор»

Немного цифр и статистики

В 2018 году средний вес веб-страницы составлял 1513 килобайт. К 2023 году он уже увеличился до 2449 килобайт. За последние пять лет показатель вырос на 161%. Данные исследования подтверждают тенденцию к увеличению веса веб-страниц.

В настоящее время стриминговые аудио- и видеосервисы набирают популярность. К августу 2023 года количество подписчиков популярной платформы Spotify достигло отметки в 515 млн. В соответствии с опросами, 25% пользователей покидают веб-страницу, если она загружается более четырех секунд. 74% пользователей, заходящих на сайт с мобильных устройств, не желают ожидать загрузку дольше пяти секунд. 46% пользователей отказываются иметь дело с веб-сервисом, если он функционирует медленно.

Эти факты указывают на то, что объем «тяжелого» контента в интернете постепенно увеличивается с течением времени. Кроме того, они подчеркивают важность высокой производительности веб-сайтов и онлайн-сервисов в современном мире. Недостаточно высокая скорость загрузки может привести к утрате аудитории, а в некоторых случаях — к снижению прибыли. Для решения этой проблемы одним из эффективных подходов является внедрение Content Delivery Networks (CDN) — сетей доставки контента.

Системный администратор

Станьте универсальным специалистом по администрированию Linux с нуля

cables_2 2-PhotoRoom 1 (3)

Основные термины

Перед тем как перейти к более подробному обсуждению особенностей CDN, определим основные понятия.

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

Ориджин (исходный источник) — сервер, где хранятся первоначальные файлы или данные, которые распространяются через CDN.

PoP (точка присутствия) — кэширующий сервер, входящий в состав CDN и размещенный в конкретном местоположении. Для обозначения таких серверов также используется термин Edge (крайний узел).

Динамический контент — контент, который генерируется на сервере в момент получения запроса (может быть изменен пользователем или извлечен из базы данных).

Статический контент — контент, который хранится на сервере в неизменном виде (например, бинарные файлы, аудио- и видеофайлы, JS и CSS).

Сисадмин — давно не человек, который настраивает компьютеры. Станьте сильным специалистом, который поддерживает инфраструктуру компании.

История CDN

Резкое развитие интернета в середине 1990-х привело к ситуации, когда серверам стало трудно справляться с нагрузкой. Для серверов того времени (которые иногда технически были менее мощными, чем современные ноутбуки) требовались разнообразные методы улучшения производительности.

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

Распределение статического и динамического контента обусловливает различные нагрузки на серверы. В случае с динамическим контентом, который требует генерации через обращения к базе данных, ключевую роль играют быстродействие процессора и объем оперативной памяти.

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

сайт Akamai, поставщика CDN

Число сетей доставки контента во всем мире постоянно увеличивается: соответствующие услуги предоставляют как крупные международные компании (например, Akamai, Amazon, Cloudflare), так и разнообразные региональные провайдеры.

Технология CDN применяется не только для распределения статического контента: дистрибуция контента через множество серверов в разных точках мира помогает обеспечивать доступность в периоды повышенной нагрузки.

За последние 10-12 лет еще один тип контента — стриминговый — стал широко распространен в интернете. Многочисленные сервисы потокового аудио и видео, на сегодняшний день пользующиеся огромной популярностью и многомиллионной, если не многомиллиардной аудиторией, заняли свою нишу. Распределение стало одним из распространенных сценариев использования CDN.

Как работает CDN

Представим себе веб-сервис, который активно используется людьми на всей территории России. Главные серверы этого сервиса размещены в Санкт-Петербурге, но пользователи находятся в различных местах — например, в Краснодаре (2 604,2 км от Петербурга), Новосибирске (3 826,1 км), Иркутске (5 661, 7 км) или Владивостоке (9 602, 4 км). Чем дальше пользователь находится от исходного сервера, тем больше времени требуется для получения ответа. В ранние дни Рунета, в начале 2000-х, жители Южно-Сахалинска или Петропавловска-Камчатского могли потратить до пяти или даже 10 минут на полную загрузку простой веб-страницы.

принцип работы CDN

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

Схема доставки контента для сайта через CDN и без него

Для повышения скорости распределения динамического контента при использовании CDN-сервера используются альтернативные методы: провайдер сервиса сокращает сетевой маршрут через свою сеть.

Еще один захватывающий сценарий использования CDN — так называемое live-streaming или прямая трансляция: пользователи интернета по всему миру могут смотреть или слушать онлайн-трансляцию событий через веб-браузер или даже специальное приложение. Процесс организован следующим образом: один или несколько оригинальных серверов принимают потоковую передачу с видеокамеры, который немедленно ретранслируется на пункты присутствия. При этом оригинальные серверы не осуществляют непосредственную доставку контента пользователям. В арсенале стриминговых CDN также есть балансировщики нагрузки, которые направляют запросы к наименее нагруженным edge-серверам на текущий момент.

Как происходит распределение контента

Как правило, настройка распределения статического контента через CDN включает в себя следующие этапы.

Этап 1: Вынесение статики сайта на отдельный домен, например static.example.com. Домен будет выступать как источник контента (origin).

Этап 2: Создание дополнительного домена вида cdn.example.com для работы через CDN-сервер.

Этап 3: Подключение CDN у выбранного провайдера. Владельцу веб-сервиса необходимо предоставить провайдеру следующую информацию:

  • домен, с которого будет осуществляться получение статики —static.example.com;
  • домен, который будет использован для распределения контента — cdn.example.com.

Этап 4: Настройка CNAME записи у регистратора DNS, связывающей домен cdn.example.com с доменом CDN-провайдера, предоставленным при подключении. Например, у Selectel такой домен имеет вид 85e77c09-bc03-43bf-b8f3-9492ae33390f.selcdn.net, где уникальный идентификатор 85e77c09-bc03-43bf-b8f3-9492ae33390f генерируется автоматически.

Этап 5: Внесение изменений на веб-сайте: замена домена для статического контента, который планируется распределять через сервис доставки контента, на cdn.example.com.

Когда пользователь вводит адрес www.example.com в строке браузера, он получает HTML-страницу. В то же время весь статический контент, например изображения, загружается из CDN с адреса cdn.example.com.

Статический контент, предназначенный для распределения, часто размещается в облачных хранилищах. Для этой цели доступно множество плагинов и дополнений, специально разработанных для популярных систем управления контентом (CMS), таких как WordPress, Joomla, Drupal, 1C Битрикс и другие. С их помощью можно установить интеграцию с облачными сервисами хранения и осуществить передачу статического контента через CDN.

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

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

Yandex Cloud CDN

Для чего используется CDN

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

Применение CDN значительно разгружает основной сервер, что позволяет справиться с пиковыми нагрузками. Современные сети доставки контента способны обрабатывать даже огромные объемы трафика. В конце 2018 года компания Akamai объявила о достижении рекордного объема переданного через сервис доставки трафика — 72 Тб/с.

В современных условиях CDN также активно используются для распределения стримингового контента.

CDN Azure

Особенности работы с CDN

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

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

Также следует учесть возможные блокировки: если по какой-либо причине будут заблокированы сервисы, которые являются вашими соседями по IP адресу, ваш сайт также может быть заблокирован. Но эту проблему также можно решить: по запросу CDN-провайдеры могут изменить ваш IP-адрес.

Кому нужна CDN

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

Также CDN может быть полезным инструментом для разработчиков мобильных приложений. Согласно статистике, пользователи часто прекращают использование приложения из-за проблем с его скоростью. Недавно на рынке появились специализированные технические решения, целенаправленно разработанные для распределения контента на мобильных устройствах. Они называются Mobile CDNs. Этот тип услуг предоставляется многими известными CDN-провайдерами, включая Akamai и Amazon.

Наконец, она подходит также для проектов, фокусирующихся на распространении игрового, мультимедийного контента и стриминговых услуг.

На что обратить внимание при выборе CDN-провайдера

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

Наличие соединений с операторами связи. Это важный фактор, который влияет на эффективность и скорость работы CDN. Например, у провайдера с многочисленными точками присутствия, но ограниченным количеством связей, задержка может быть выше, чем у провайдера с меньшим числом точек, но более качественными связями.

К сожалению, многие CDN-провайдеры не раскрывают эту информацию публично, поэтому проверить можно только через тестирование.

Наличие дополнительных услуг и функций. Многие провайдеры CDN предоставляют дополнительные сервисы, включая анализ статистики, управление политиками кэширования, настройку HTTP-заголовков, предварительную загрузку тяжелых контентов (более 200 МБ), полную и частичную очистку кэша.

Помимо этого, при выборе CDN-провайдера важно убедиться, что он поддерживает необходимые технологии и протоколы, такие как HTTP/2, IPv6, SSL-сертификаты и другие.

Системный администратор

Станьте универсальным специалистом по администрированию Linux с нуля и разверните собственный кластер. Перед вами откроется широкая область для реализации и развития: от сисадмина до CTO

картинка (97)

Статьи по теме:

Что такое CDN

В статье мы расскажем о CDN: что это такое и для чего нужна эта технология.

Когда пользователь открывает любой сайт или приложение, он рассчитывает, что быстро перейдет на нужную страницу, получит информацию или сделает заказ. И его ожидания оправданы — оптимальное время загрузки сайта — 2-3 секунды. Если сайт или приложение открывается дольше, это может вызвать дискомфорт у посетителя. Велика вероятность, что пользователь предпочтет закрыть вкладку и перейти на более быстрый ресурс.

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

Если вы пользователь

В некоторых случаях долгая загрузка может помешать визиту на сайт, так как возникает ошибка ERR_CONNECTION_TIMED_OUT. Она означает, что для подключения к сайту потребовалось слишком много времени. Иногда можно встретить следующие варианты этой ошибки: «Превышено время ожидания ответа от сайта», «Время ожидания ответа истекло».

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

Если вы владелец сайта и заметили, что ресурс долго загружается, стоит проверить сервер на скорость отклика. Как правило, страницы медленно загружаются по двум причинам:

  • Нехватка ресурсов хостинга или виртуального сервера. Если для развития сайта требуется больше ресурсов, вы можете докупить недостающие мощности или заказать новую услугу у своего провайдера.
  • Большое расстояние между сервером и пользователем. Например, это могут быть разные страны или разные материки. Удалённое расположение может привести к долгой доставке контента. Для решения этой проблемы используется CDN.

Что такое CDN

CDN (Content Delivery Network) — это географически распределенная сетевая инфраструктура. Она обеспечивает быструю доставку контента и загрузку страниц на устройстве пользователя.

что такое cdn 1

Как работает CDN

Обычно пользователь взаимодействует с сайтом по следующему алгоритму:

  1. Пользователь набирает адрес сайта в браузере. После этого браузер направляет запрос к серверу.
  2. Сервер получает запрос и ищет запрошенные данные в своей базе. Если данные найдены, сервер возвращает ответ браузеру.
  3. Браузер отображает искомую страницу.

что такое cdn 2

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

Если владелец сайта использует CDN, взаимодействие с контентом происходит по-другому. Помимо основного сервера с названием ориджин, на котором хранятся файлы сайта, в сети используется ещё один тип серверов — PoP (Point of Presence) или Edge. Это кэширующие серверы — они записывают и хранят данные с ориджина для быстрого доступа. Edge-серверы географически распределены и кэшируют только статический контент, а динамический хранится на основном (центральном) сервере.

Статический и динамический контент: в чём отличие

Статический контент — это контент, который хранится на сервере в неизменяемом виде. К нему относятся:

Динамический контент — это контент, который генерируется при получении запроса от клиента (браузера), например, динамический баннер с рекламным предложением или страница, которая заполняется в зависимости от ваших поисковых запросов.

Предположим, пользователь открывает сайт из России. При этом в России есть точка присутствия, а ориджин находится в США. В этом случае запрос к сайту направляется к ближайшему российскому Edge-серверу. Когда российский сервер получает запрос, он ищет запрошенные данные. Если данные найдены, Edge-сервер отправляет ответ и отображает страницу.

Если Edge-сервер не нашёл информацию (например, в России впервые открывают эту страницу), он перенаправляет запрос серверу в США. Ориджин находит нужные данные и отвечает российскому серверу. Затем Edge-сервер в России кэширует информацию и передаёт ответ браузеру. После этого браузер отображает сайт для пользователя.

что такое cdn 3

Что такое сеть доставки контента

Для чего нужен CDN

Чаще всего CDN используется как сервис ускорения загрузки сайта. Однако он имеет дополнительные свойства:

  • Снижение нагрузки на ориджин. Нагрузка распределена равномерно между серверами в сети. Главный сервер используется только для настройки, обновления данных и их раздачи по сети.
  • Отказоустойчивость. За счет кэширующих серверов в сети, статический контент будет доступен даже при выходе ориджина из строя.
  • Низкая вероятность DDoS-атаки. Так как в сети CDN большое количество серверов в разных регионах, стоимость атаки увеличивается в несколько раз. Это уменьшает число потенциальных злоумышленников.

CDN будет полезен для следующих проектов:

  • крупных сайтов с аудиторией по всему миру,
  • высокоскоростных мобильных приложений,
  • облачных игровых порталов,
  • платформ для распространения программного обеспечения,
  • стриминговых сервисов, например аудио или видео.

Сервисы CDN, которые помогут ускорить сайт для российских пользователей:

  • Cloudflare,
  • Ngenix,
  • CDNVideo.

Помогла ли вам статья?

Спасибо за оценку. Рады помочь ��

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *