CDN: что это и зачем она нужна
09:06, 01.07.2022
CDN (Content Delivery Network) — географически распределённая сетевая инфраструктура, созданная с целью оптимизации доставки и дистрибуции данных конечному пользователю – нам с вами.
Несмотря на кажущуюся сложность, на практике работает это всё очень просто. Представим ситуацию: вы запускаете компьютер, открываете браузер, затем переходите на какой-нибудь интересующий сайт. Таким образом вы отправляете запрос веб-серверу, и спустя несколько мгновений страница будет перед вами – это ответ сервера. Это стандартный механизм передачи данных, и, если со стороны сервера будут какие-то проблемы, сайт попросту не загрузится. А ведь риск выхода из строя отдельных узлов существует всегда, и технологию CDN разработали именно для предотвращения таких неприятных ситуаций.
Сеть доставки (и дистрибуции) содержимого предполагает внедрение дополнительных узлов хранения и передачи данных – это такие вспомогательные серверы, которые кэшируют часть контента, или даже весь сайт целиком. То есть данные сайта дублируются в нескольких частях мира – а это значит, что ваш сайт будет доступен посетителям даже в случае, если на главном сервере произойдет какой-нибудь сбой. Запросы от посетителя будут перенаправляться на кэширующий сервер, который находится ближе всего к посетителю – ко всему прочему, это позволяет снизить пинг, так как трафик будет двигаться по минимально-возможному маршруту.
CDN-сеть также позволяет серьезно снизить нагрузку на центральный сервер. И чем больше кэширующих серверов подключено к вашему веб-сайту, тем быстрее стабильнее будет работать ресурс. В двух словах, повышается отказоустойчивость и защищенность по отношению к DoS-атакам.
Терминология и принцип работы CDN
Есть 6 ключевых терминов, которые раскрывают суть этой технологии:
- CDN – распределенная сеть доставки контента.
- Origin – центральный сервер, где хранятся исходники, которые дублируются на кэширующих серверах.
- Статический контент – данные, которые хранятся на сервере в неизменном виде и автоматически никак не модифицируются.
- Динамический контент – это данные, которые генерируются на сервере в момент поступления запроса от посетителя.
- PoP – точка присутствия, или кэширующий сервер в рамках распределенной сети.
- Кэширование – процесс записи данных в промежуточный буфер, откуда возможно практически мгновенное считывание сервером.
Для наглядности можно представить такую ситуацию – ваш центральный сервер располагается в Торонто, в Канаде, и к этому «ориджину» пытается подключиться житель Киева, чтобы почитать новости и узнать, как там вообще поживает диаспора. Расстояние от Киева до Торонто составляет примерно 7551 км по прямой. Это довольно много, и при этом стоит учитывать, что оптоволоконные кабели пролегают не по прямой, так что дистанция будет еще больше. И пинг, соответственно, тоже огромный.
Чтобы загрузка страниц при таких сценариях происходила быстро, нужна географически распределённая сетевая инфраструктура – CDN. Благодаря подключению нескольких кэширующих серверов в разных уголках планеты вы сможете обеспечить быструю загрузку сайта для всех посетителей, которые находятся в приемлемом радиусе от точек присутствия.
Как настроить CDN
Чтобы раздать статический контент на несколько точек PoP, нужно:
- Залить всю «статику» на отдельный домен.
- Через провайдера договориться о подключении CDN-сети. Ему потребуется информация о вашем центральном домене и вспомогательных, откуда будет вестись раздача.
- Обратиться к DNS-регистратору для настройки CNAME-записи.
- На основном сайте поменять доменное имя для статического контента, который необходимо транслировать через CDN.
В системах управления содержимым (CMS) имеются специальные плагины, которые нужны для интеграции этой технологии. Но вы должны понимать, что точки присутствия не могут выступать в роли классических хранилищ для данных, они лишь кэшируют и транслируют информацию с ориджина.
Какие преимущества дает CDN
Выделим ключевые:
- увеличивает скорость загрузки сайта благодаря оптимизации сетевого маршрута;
- снижает нагрузки на центральный серверный узел, повышает отказоустойчивость и стабильность работы сайта;
- увеличивает географический охват аудитории, причем значительно;
- позволяет масштабировать количество PoP с целью интеграции на новые рынки и для выхода на новую аудиторию;
- упрощает задачу размещения «тяжелого» контента, что особенно полезно, если на центральном сервере работают ресурсоемкие приложения или интерактивные медиафайлы;
- способствует SEO-продвижению – сайты с географически распределенной инфраструктурой получают более высокие позиции в поисковой выдаче, они лучше ранжируются.
В конце концов, это повышает надежность и стабильность работы любого ресурса, так что при грамотной настройке вы можете вплотную приблизить аптайм сайта до 100%. Эта технология идеально подойдет как для интернет-магазинов, так и для различных стриминговых сервисов, дистрибьюторов программного обеспечения. Те же Netflix, YouTube и Spotify активно используют CDN, так как более достойных альтернатив на сегодняшний день попросту не существует.
На этом мы заканчиваем наш материал и благодарим за внимание. Если остались вопросы – пишите, наши специалисты всегда на связи.