CDN – что это и как работает эта инновационная технология

CDN – что это, как работает распределение контента и для каких сайтов полезно использование функционала сетевой технологии CDN

CDN – что это и как работает эта инновационная технология

Порой при переходе на какой-либо интернет сайт можно столкнуться со следующей ситуацией: при открытии интересующего вас сайта, появляется подобное сообщение: «Пожалуйста, подождите… Загрузка страницы займет длительное время.» или «Запрошенный сайт сейчас недоступен. Обновите страницу или попробуйте зайти позже». Что это значит и как бороться? Попробуем разобраться в этой статье.

Когда появились первые ускорители отдачи контента?

Немного истории о появление первых ускорителей контента. Впервые с проблемой медленной отдачи контента страниц сайта люди столкнулись в 90-х годах 20-го века. Собственники серверов придумывали разные хитрости, чтобы улучшить производительность серверов, мощность которых ограничена. Были разработаны information superhighway и «иерархическое кэширование», которые стали основой для современной системы распределения информации. 1998 – год основания компании Akamai, занимающей лидирующие позиции и сейчас среди CDN провайдеров с сотней распределительных серверов по всему миру .

Ошибка загрузки сайта или длительное ожидание?

Если при переходе на сайт вы видите долгую загрузку страницы или страница не может загрузиться вовсе, но наряду с этим другие сайты в этом же браузере открываются быстро, то дело не в мощности вашего компьютера, интернет-соединения или используемом браузере, а в сервере, на котором размещен искомый веб-сайт.

Не все пользователи могут позволить себе долгое ожидание загрузки страницы и в большинстве случаев уходят с проблемных сайтов и обращаются к другим ресурсам. Если вы владелец такого веб-сайта и замечаете частые отказы в метриках, снижение интереса и количества посетителей при посещении вашего “детища”, стоит задуматься над решением проблемы уже сейчас, пока сайт все еще интересен поисковым системам. Интернет-магазины, работающие по всей стране или миру, могут нести колоссальные потери, если сервер в момент максимальной нагрузки перестает справляться, сайт загружается медленнее, чем обычно или вовсе становится недоступен для конечных пользователей. Покупатели в этот момент не могут зайти на площадку и уходят к другим продавцам. Поисковики тем самым могут понизить ранжирование сайта, что влечет за собой большие финансовые убытки. Решением становится CDN – Content Delivery Network.

Термин CDN – что это такое

Простыми словами это «Сеть распределения контента». В случае обычного хостинга для небольших сайтов доступ к ним осуществляется по следующему алгоритму:

  • Пользователь открывает ссылку. В это время браузер посылает запрос на сервер, на котором находится запрашиваемый сайт.
  • Сервер обрабатывает запрос и в качестве ответа возвращает содержимое нужной страницы.
  • У пользователя открывается и отображается в браузере запрошенный им сайт.

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

Серверы поставщика размещаются во многих географических точках, поэтому поток информации для конечного пользователя следует по кратчайшему пути. Вследствие чего происходит снижение нагрузки с основного хостинга и перераспределение ресурсов, обеспечивая наибольшую скорость соединения и страницы, пользующиеся CDN, прогружаются намного быстрее.

Информация, находящаяся на серверах, бывает статической и динамической.

Статическая информация. В первом случае это «весомый» пакет информации: графические, звуковые и текстовые файлы, документы, исполняемые файлы, то есть те виды информации, которые относительно статичны во времени и крайне редко меняются.

Динамическая информация. Во втором случае данные передаются в разном виде в зависимости от того, что именно и каким образом запрашивает пользователь: у него может быть разное местонахождение, история браузера и так далее.

Динамическое содержимое сайта обычно невелико по объему передаваемых данных, но для его генерации используется оперативная память и мощности центральных серверов. И если сервер один, то повышенная нагрузка в пиковые моменты может замедлять работу сайта.

При применении CDN часть информации (лишь статическая) кэшируется на разных сетевых серверах CDN. Они обрабатывают запросы клиента и осуществляют передачу наиболее объемных статических данных. Это значительно освобождает от нагрузки главный сервер, который теперь используется в основном для обработки динамической информации, трафик перераспределяется, интернет-страницы на ПК пользователя открываются быстрее.

Как работает сеть распределения контента (CDN)

Рассмотрим пример:

Главный сервер организации-провайдера размещается в Москве, а интернет-аудитория расположена на просторах всей России и можно представить, сколько тысяч километров до самой отдаленной точки клиента, подключенной к нему. В результате получим разные расстояния – на карте по прямой и, проходящие по оптоволоконным и кабельным линиям. В связи с этим скорость передачи информации по сети Интернета ограничивается, замедляется трафик на этапе обработки буферными узлами (маршрутизаторами) и страница у клиента, находящегося, скажем, во Владивостоке, открываться будет значительно дольше, чем в Москве.

Применяя CDN, запрос абонента из дальнего города распознается по местоположению IP-адреса и передается в территориально ближайший кэширующий сервер. Итог – статический контент доставляется практически моментально, будто человек из Владивостока находится в Москве.

Методика настройки CDN своими силами

Для использования CDN необходимо провести ряд относительно несложных действий:

  • 1. Иметь активное или купить доменное имя у регистратора.
  • 2. Организовать хотя бы 2 сервера, которые географически находятся в разных местах.
  • 3. Настроить GeoDNS – инструмент, позволяющий по IP-адресам клиентов определять их примерное местоположение, направляя запросы к ближайшим к ним серверам Вашего сайта.

Чтобы информация вашего основного сервера реплицировалась и кэшировалась на дополнительных серверах, необходимо использовать дополнительные инструменты и плагины (например, W3 Total Cache для WordPress). Основное программное обеспечение будет по-прежнему функционировать на главном сервере, а кэшированные элементы будут поступать на CDN-серверы для дальнейшего доступа к ним со стороны пользователей.

Необходимо учесть, что хранилище CDN не является традиционным сервером, а занимается только кэшированием и передачей данных по заданным алгоритмам. Данные, которые прошли кэширование, в хранилищах CDN для актуализации постоянно изменяются (обновляются).

Технологии, используемые для загрузки информации из CDN:

  1. GeoDNS – прикрепляет к домену много IP-адресов, по которым механизм распознает территориальное расположение клиента, осуществившего поиск, переадресовывает на самый ближний сервер.
  2. AnyCast – пользуется едиными адресами, транспортировка осуществляется на ближние серверы в радиусе географического района. Организация, предоставляющая услуги доступа в Интернет, принимает ряд уведомлений с различных сетей, имеющих точку присутствия, и его буферные узлы (маршрутизаторы) отбирают тот, который ближе всего находится. Аналогично приходит ответ и обратно.

Кэширование контента

Самой часто применяемой считается модель «первое обращение». Когда происходит первый запрос на определенную информацию к головному серверу, определяется географическое положение клиента. Все следующие запросы от конкретного клиента получат данные, кэшированные на самой близкой к ним точке присутствия.

Проблема этой модели заключается в том, что последующие схожие запросы могут оказаться выполненными из новых географических регионов. Чтобы решить эту сложность, применяется схема регионального распределения. При этом серверы-соседи, находящиеся в составе CDN, отдают информацию друг другу, не обращаясь к головному серверу (еще этот процесс называется «многоуровневая задача»).

Для кого необходим CDN в обязательном порядке

Как видно, распределительная сеть важна сервисам с обширной аудиторией, располагающейся в различных регионах. Пользуются спросом услуги CDN в следующих сферах:

  • Онлайн-сервисы (стриминг видео);
  • Большие и популярные интернет-площадки с обширной географией;
  • Платформы для игр;
  • Сайты с применением непрерывной трансляции видео (интернет-кинотеатры);
  • Порталы, хранящие множество материала (галереи, социальные сети);
  • Новостные порталы, форумы;
  • Платформы для работы.

Подбор CDN компании

Выбирая CDN поставщика, необходимо учесть:

  1. Нахождение точек присутствия распределительной системы в местах нахождения пользователей Вашего сайта.
  2. Производительные мощности сети, присутствие высокоскоростной связи с операторами-провайдерами (чем крупнее компания, тем, обычно, лучше связь).

Достоинства распределительной сети CDN

  • Увеличенная скорость обработки запросов. Время обратной связи удаленного сервера, например, 50-180 мс. С помощью CDN – транспортный путь от сервера к пользователю минимально короткий и это время сокращается до условных 15 мс, за счет распределения отдачи контента.
  • Уменьшение загруженности центрального сервера, экономия основного трафика. Нагрузка при использовании CDN делится одинаково на пограничные серверы. Главный включается в работу лишь для обновления данных и главных надстроек. Если на основном сервере не имеется динамической нагрузки и обновляющие процессы почти не проводятся, потребности в его вычислительных мощностях невелики, это влечет за собой уменьшение цены хостинга.
  • Возможность распространения большого объема данных. В случае расположения ПО, онлайн-продуктов лишь на главном сервере он загружается «тяжелыми» поисковыми запросами к базе данных и PHP скриптов, которые могут обрабатываться достаточно долгое время, в зависимости от количества одновременных запросов от сотни пользователей. Повышается нагрузка, появляется необходимость в дополнительных усилиях для обеспечения устойчивости. CDN предоставляет возможность одномоментной эксплуатации тысяч, даже сотен тысяч «тяжелых» запросов на скачивание файлов, например, обновлений для устройств клиентов.
  • Безопасность и отказоустойчивость. CDN – это сложная система взаимосвязи множества головных серверов, ресурсы которых при этом еще и дублируются. Центры обработки информации территориально находятся в разных регионах и странах. Эта система хранения поможет хранить и отдавать необходимый контент наиболее эффективнее, в сравнении с одним основным веб-сервером.
  • Адаптивность и обеспечение надежности. Способности одновременной обработки клиентских запросов сетями CDN почти бесконечны. Даже моменты максимальных нагрузок в миллиарды запросов не сказываются на работе главного сервера, его данные будут передаваться так же легко и без потери времени. А при внезапной недоступности центрального сервера посетитель веб-сайта сможет воспользоваться статическим контентом.

Минусы CDN систем и их возможная замена

Как и любая интернет-технология, распределительная сеть CDN имеет особенности, которые обнаруживаются в ходе ее использования:

  • 1. Первое затруднение, возникающее при эксплуатации системы – задержка кэширования. Это происходит из-за того, что на главном сервере данные уже изменены, а на кэширующих серверах еще имеется прежний вариант. Устраняется этот недостаток периодическим обновлением (сбросом) кэша в панели администратора CDN сервиса.
  • 2. Вторая возможная проблема – это случайная блокировка вашего сайта, например, если размещенный соседний веб-сайт попал под блокировку РКН. Как правило, подобные проблемы возникают с бесплатными сервисами, например CloudFlare. Тогда возникнет необходимость обратиться за помощью к вашему CDN провайдеру для изменения адреса.
  • 3. Также к минусам можно отнести и дополнительные затраты на организацию услуги, если требуется специфическая настройка или программирование CMS системы или отдельных скриптов.

Перед тем как внедрять CND, необходимо понять причины медленной работы вашего сайта. Если он не имеет много статической информации, аудитория не распределена территориально по разным странам, причина медленной скорости может решиться другими методами.

Можно попробовать провести программную оптимизацию, понизить разрешение изображений, удалить повторяющиеся данные, перейти на более мощный сервер. Если это не привело ни к каким результатам, стоит попробовать CDN систему.

В роли замены рынок IT-технологий предлагает VPS/VDS-хостинг (виртуальный сервер, сдаваемый в аренду), обладающий адаптивностью, масштабируемостью, повышенной устойчивостью и высокой безопасностью. При этом, цены на данную услугу зависят не столько от качества самих услуг, сколько от авторитетности хостинг провайдера.

Вернуться наверх