CDN (сеть доставки контента) — это сеть географически распределённых серверов, которые работают вместе для доставки контента пользователям. 35 Контент может включать в себя изображения, видео, скрипты, стили и даже целые веб-страницы. 3
Работа CDN происходит следующим образом: 1
- Пользователь хочет загрузить какой-то контент или посетить веб-страницу. 1 Его запрос сначала поступает на CDN. 1
- CDN определяет, какой из её серверов находится ближе всего к пользователю. 1 При этом учитываются многие факторы, такие как текущая нагрузка, состояние сети, используемый протокол обмена данными. 1
- Как только ближайший сервер определён, CDN проверяет, хранится ли запрашиваемый контент на нём. 1 Если информация уже находится в кэше, сервер сразу же отправляет её пользователю. 1
- Если же контента нет, CDN запрашивает его у основного сервера, где хранятся все «оригиналы» данных веб-сайта. 1 Полученная информация затем кэшируется на edge-сервере, чтобы при последующих запросах пользователей из этого региона она предоставлялась быстрее. 1
CDN помогает решать проблемы доступности сайтов несколькими способами:
- Ускорение загрузки. 13 Файлы загружаются быстрее (с меньшей задержкой), потому что серверы CDN с кешированием статическим контентом расположены близко к пользователю. 2
- Снижение нагрузки на серверы. 1 Поскольку CDN обрабатывает запросы к статическому контенту, основной сервер высвобождает ресурсы для других задач, что снижает требования к нему, а также вероятность отказов. 1
- Увеличение доступности. 1 В случае проблем с основным сервером или сбоями сетей между сервером, на котором хостится сайт, и посетителем ресурса, CDN может продолжать обслуживать пользователей, поскольку есть копии информации. 1
- Защита от атак. 2 Правильно настроенные CDN-сервера либо блокируют вредоносные IP-адреса, либо ограничивают число запросов с их стороны, тем самым предотвращая массовые атаки. 2
- Оптимизация трафика. 2 Перед кэшированием и отправкой конечным пользователям статический контент сжимается для уменьшения размера, тем самым снижая объём передаваемых данных и разгружая сеть. 2
- Повышение отказоустойчивости. 2 Во время сбоя или перегрузки одного из серверов CDN, запросы автоматически могут быть перенаправлены на множество других. 2