CDN, сеть доставки содержимого/контента
Что такое 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 работает указанным ниже образом.
Посетитель географически удаленного веб-сайта отправляет первый запрос на статический веб-контент.
Затем запрос достигает сервера интернет-приложения или источника. Сервер источника отправляет ответ удаленному посетителю. Кроме того, он параллельно высылает копию ответа точке присутствия (POP) сети CDN, расположенной в непосредственной географической близости к посетителю сайта. Сервер точки присутствия (POP) сети CDN сохраняет копию в качестве кэшированного файла.
В следующий раз, когда этот или любой другой посетитель из этого местоположения отправит аналогичный запрос, кэширующий сервер вышлет им ответ вместо сервера источника.
Динамическое ускорение
Динамическое ускорение – это сокращение времени отклика серверов на запросы на динамический веб-контент с помощью промежуточных серверов 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 можно оперативно его увеличить, приняв на себя нагрузку от серверов приложений.
Источники
- Что такое CDN?,
- What is a Content Delivery Network(CDN)?,
- What is a CDN,
- CDN,
- иллюстрация: NoSQL in CDN.