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

Content Delivery Network (CDN)

CDN (Сеть доставки контента) — сеть серверов, которые:

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

Основная задача: быстро и надёжно доставлять статические и медиа-данные (изображения, видео, стили, скрипты) независимо от местоположения пользователя.

Применение

Когда важно быстро и стабильно доставлять контент:

  • в крупных веб-приложениях
  • онлайн-магазинах
  • стриминговых платформах и соц сетях и тд

Примеры:

Основные понятия

  • Ориджин (Origin): сервер, где хранятся первоначальные файлы или данные, которые распространяются через CDN. При первом запросе контент загружается с него. Может быть несколько.

  • PoP (Point of Presence) / Edge Node (пограничный узел): кэширующий сервер, размещенный близко к конечным пользователям. Узлы принимают и кэшируют запросы, уменьшают расстояние между пользователем и данными. Это повышает скорость доступа.

  • Purge (очистка): удаление контента на пограничных узлах для последующего обновления из ориджинов.

  • Restriction (ограничение): кто может / не может получать доступ к содержимому из кэша. Например, разрешение запросов только из определенных доменных зон, регионов или групп IP-адресов.

  • Time to Live (TTL, время жизни): период кэширования на пограничном узле (Edge Node, PoP) до нового извлечения данных.

Виды контента

  • Динамический: данные изменяются в реальном времени или по запросу пользователя (данные профиля, месторасположение, корзина покупок). Уникален для каждого пользователя, его нельзя кэшировать. Но CDN позволяет ускорять его передачу за счет:
    • оптимальных маршрутов к ближайшему PoP-узлу
    • шифрования / дешифрования SSL на PoP-узлах для сокращения времени обработки
    • протоколов ускорения: HTTP/2 и QUIC
  • Статический: неизменные в течение указанного TTL (изображения, CSS, JavaScript и тд). Кэшируется и доставляется с PoP.

Пример работы CDN

  1. Запрос контента (веб-страниц или видео).
  2. Браузер проверяет локальный кэш. Если данных нет / устарели, запрос идет к CDN, то есть к ближайшей точке присутствия (PoP) на основе местоположения пользователя и анализа сети.
  3. PoP проверяет, есть ли запрашиваемый контент в кэше:
    • если контент уже есть, PoP отправляет его
    • если нет, запрос передается на сервер ориджина (к бэкэнду) для получения контента
  4. PoP кэширует данные для последующих запросов.
  5. Пользователь получает контент с ближайшего PoP с минимальными задержками.

Кэширование в CDN

  • Контент хранится в точках присутствия (PoP) рядом с пользователями.
  • CDN-кэш обновляется через инвалидацию или истечение срока хранения (TTL).

Связь с бэкэнд и фронтенд кэшем:

  • Бэкэнд может отправлять данные в CDN с TTL или правилами инвалидации в заголовке. При обновлении данных на бэке CDN-кэш может очищаться.
  • Фронтенд: браузерный кэш использует HTTP-заголовки и часто кэширует содержимое после CDN.

Синхронизация: по правилам инвалидации и версиями URL для одновременного обновления всех уровней кэша — от бэка до фронта через CDN.

Балансировка нагрузки

Распределяет трафик между PoP-узлами и серверами внутри них.

Для направления запросов к ближайшему PoP-узлу используются способы:

  • GeoDNS, который ориентируется на геолокацию пользователя
  • Anycast, на сетевое расстояние до ближайшего узла

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

Плюсы и минусы CDN

Плюсы:

  • сокращение времени загрузки за счёт доставки контента с ближайшего сервера
  • сеть серверов уменьшает нагрузку на основной сервер
  • защита от DDoS-атак (проверка IP, ограничения по географическим запросам и тд)

Минусы:

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

Подборка материалов

  1. CDN
  2. CDN: что такое и как работает технология
  3. Content Delivery Network (сеть распространения контента)
  4. Что такое CDN и как это работает?
  5. Что такое CDN: смотрим на примерах
  6. Что такое CDN, и как это вообще работает
  7. 10 интересных фактов про CDN и скорость сайтов
  8. Разбираемся в статусах кеша CDN
  9. CDN или Кэширование?
  10. Сказ о CDN, чтение на ночь
  11. Почему CDN не нужны: развенчиваем старый миф
  12. Работа Content Delivery Networks (CDN) и DNS
  13. Как выбрать CDN для доставки динамического контента и не облажаться: 8 условий и must-have технологий
  14. Неисповедимы пути контента или про CDN замолвим слово
  15. Знакомство с Content Delivery Network
  16. Как сделать CDN для своего сайта и почему это полезно для высоконагруженных проектов
  17. Как сделать и настроить свой CDN
  18. CDN для 70 000 сайтов одной кнопкой
  19. Создаём и настраиваем собственную CDN
  20. 6 бесплатных CDN для ускорения и улучшения безопасности вашего сайта
  21. 10 Лучших поставщиков CDN (Сравнение)

Видео

  1. Что такое CDN и как это работает
  2. Ускорение сайтов с помощью CDN - плюсы и минусы
  3. CDN
  4. Строим свой CDN с кешированием и GeoDNS [GeekBrains]

Конференции