Что такое CDN
CDN — что это такое? Об этом мы расскажем в статье.
Что такое сеть доставки контента (CDN)
Открывая сайт, пользователи рассчитывают, что перейдут на нужную страницу максимум за 2-3 секунды. Если ресурс загружается дольше, есть риск, что потенциальный клиент уйдет со страницы на сайт конкурента.
Существует 2 наиболее распространённые причины долгой загрузки страниц:
- Недостаточно мощный сервер. Если на сайте много скриптов и обращений к базе данных, то сервер может не выдержать большой нагрузки и работать медленно. Для решения проблемы можно изменить конфигурацию текущего сервера или переехать на более мощный.
- Сервер расположен далеко от пользователя. К примеру, если хостинг расположен в Москве, то у пользователей из Москвы сайт будет открываться быстрее, чем у пользователей из Хабаровска. Эта проблема решается при помощи CDN.
CDN (Content Delivery Network — сеть доставки контента) — это сервис ускорения загрузки сайта. С его помощью данные передаются быстро, независимо от того, где находится хостинг. Это возможно благодаря распределенным по всему миру кэширующим серверам: информацию отдают те, которые находятся ближе к пользователю и получается быстрее, чем если бы она шла с основного сервера.
Как работает CDN
Сайт без подключенного CDN работает следующим образом:
- Пользователь набирает название сайта в строке браузера.
- Браузер отсылает запрос на сервер.
- На сервер поступает запрос. Он ищет данные, которые запросил пользователь.
- Сервер находит данные, браузеру возвращается ответ.
- Информация, которую искал пользователь, отображается в браузере.
В этом случае информация запрашивается напрямую у сервера, на котором располагается ресурс. Но если сервер с данными располагается далеко от пользователя, то время загрузки сайта может быть увеличено.
Взаимодействие с сайтом, для которого подключен CDN, происходит по другому алгоритму. Здесь используется 2 типа серверов:
- Origin (ориджин) — основной сервер, который хранит данные сайта.
- PoP (Edge) — кэширующий сервер. Такие серверы находятся в различных географических точках и хранят данные сайта. На них размещается статический контент, а динамический контент хранится на ориджине.
Когда посетители вбивают имя сайта в строку браузера, то получают статические данные не с основного сервера, а с ближайшего PoP-сервера. Поскольку PoP географически ближе ориджина, то сайт открывается быстрее.
Статический контент — это неизменяемые данные сайта. Все посетители страницы получают такой контент в одинаковом виде. К нему относятся:
- HTML,
- CSS,
- фотографии,
- видео.
Динамический контент — это изменяемые данные сайта. Такие данные по-разному отображаются у всех посетителей, они могут изменяться в зависимости от действий посетителя. Например, лента в социальных сетях или контекстная реклама.
Как кэшируются данные
Каким образом контент попадает с origin на PoP-сервер? Информация кэшируется в тот момент, когда пользователь из конкретного региона впервые заходит на сайт. Допустим, у нас есть сайт domain.com. Виртуальный хостинг (origin) находится в Сингапуре, а PoP — в Самаре. После того как на сайт зайдет первый посетитель из Самары, данные закэшируются на PoP-сервере и будут отдаваться следующим посетителям с него. Запрос первого пользователя будет обрабатывать ориджин, поэтому информация будет загружаться дольше, чем обычно. Зато все последующие запросы будет обрабатывать PoP, и страница начнет открываться быстро.
Стоит отметить, что кэширующие серверы умеют обмениваться контентом между собой. К примеру, если domain.com решит посетить житель Пензы, то его PoP получит данные не с ориждина, а с кэширующего сервера в Самаре (если он будет ближе).
Для чего нужен CDN
- Ускорение загрузки. Технология CDN — это распределённая сетевая инфраструктура, узлы которой расположены по всему миру. Из-за географического положения узлов сайт будет открываться быстро у посетителей в любой точке мира.
- Уменьшение нагрузки на основной сервер. За счет того, что часть запросов поступает на промежуточные узлы, нагрузка на origin снижается.
- Повышение отказоустойчивости. Закэшированные статические данные будут доступны даже в том случае, если ориджин сломается.
- Защита от DDoS-атак. Из-за распределения трафика между большим количеством узлов совершить DDoS-атаку будет сложнее и дороже.
- Улучшение позиций в поисковой выдаче. Высокая скорость загрузки положительно влияет на продвижение сайта.
Кому необходим сервис CDN:
- интернет-магазинам,
- стриминговым платформам,
- облачным игровым порталам,
- высокоскоростным мобильным приложениям,
- платформам, на которых распространяют программное обеспечение,
- прочим проектам с пользователями во всем мире.
Минусы CDN:
- Задержка кэширования. Может быть такое, что на ориджине в файлы внесли изменения, а на PoP по-прежнему находится устаревшая версия. Для решения этой проблемы в CDN существует функционал для чистки кэша, который удаляет информацию из пула кэширования. Помимо этого, у владельцев проектов есть возможность управления настройками при помощи заголовков-валидаторов.
- Случайная блокировка. Если сайт вашего “соседа” заблокируют по IP CDN-провайдера, то случайно могут заблокировать и ваш ресурс. Чтобы решить проблему, можно сменить IP у CDN-провайдера.
Популярные CDN-провайдеры:
- Cloudflare,
- Akamai,
- NGENIX,
- cdnnow!,
- CDNvideo.