Еще в 90-х годах по всему миру возникла проблема перегруженности серверов. При подключении большого количества удаленных клиентов серверы не могли выдавать результаты запроса в короткий срок: им не хватало ни мощности процессора, ни объема памяти, ни скорости передачи данных по сети. Если сервер сайта находился на другом континенте, пользователю приходилось наблюдать, как контент по крупицам подгружается на страницу, тратя на ожидание загрузки уйму времени.
В результате некоторые компании начали ослаблять нагрузку на сайты, географически распределяя серверы.
Так появилась технология Content Delivery Network (CDN) — сетевая серверная инфраструктура, которая используется для ускорения доставки контента конечному пользователю.
Чем ближе сервер находится к клиенту, отправившему запрос на сайт, тем быстрее сервер выдаст ему ответ в виде страницы с контентом.
Сегодня технология CDN используется повсеместно, поэтому каждому IT-специалисту полезно знать, как она работает и как ее проверить.
С помощью CDN пользователь из Франции может зайти на бразильский сайт и увидеть его наполнение меньше, чем за секунду. Параллельно с CDN начал активно развиваться и рынок стриминговых сервисов.
Благодаря близости CDN-серверов мы можем моментально получать онлайн-доступ к видео в HD, когда смотрим сериалы на Netflix или слушаем музыку с высоким битрейтом на Spotify.
Чтобы наглядно понимать, как работает CDN, разберем два случая: как технология функционирует со стороны пользователя (User) и как — со стороны заказчика услуги ускорения (Customer).
Предположим, вы находитесь в Сан-Франциско и заходите на сайт github.io, основной сервер которого расположен в Индии. На ваш запрос сайт выдаст html-страницу, а весь статический контент будет загружен с сайта cdn.github.io, который будет расположен в США.
Но откуда сайт узнает какой именно кэш-сервер должен отдать вам информацию? Это возможно благодаря протоколу граничной маршрутизации Border Gateway Protocol (BGP). Он отправляет на IP-сеть вашего провайдера несколько анонсов с точкой присутствия cdn.github.io, из которых маршрутизатор выбирает ближайшую (у которой задержка запрос/ответ будет наименьшей). Очень похоже работет технология AnyCast.
Заказчик загружает весь статический контент в объектное хранилище, которому присваивается уникальное Domain Name System (DNS) — имя домена. Таким образом имя сайта связывается с его цифровым адресом. На это имя и будет ссылаться html-страница, которую запрашивает пользователь. Заказчик также может указать домен origin (исходный сервер со статическими данными), из которого локальный CDN-сервер скачивает кэшированные файлы при первом поступившем запросе и выдает их пользователю, а после уже не обращается к нему, так как данные уже лежат на локальном сервере.
Тестирование Content Delivery Network может выполняться с двух позиций:
Важный пункт в тестировании работы CDN — создание репортов. Репорты помогают получать информацию о трафике на ваших доменах. Ими не стоит пренебрегать.
Выбор Environment на CDN позволяет выбрать среду применения:
Настройка edge-сервера включает в себя тысячи разных правил, начиная от создания своего домена, добавления ему сертификата и настройки правил, заканчивая манипуляциями с самими пользователями.
Функция Purge помогает работать с удалением и замораживанием кэшированных файлов с Edge-серверов.
Purge Action позволяет удалять или замораживать контент на кэш-сервере. Здесь опция Delete будет удалять данные из кэша ваших edge-серверов, а Invalidate сделает контент недоступным пользователю, пока он не будет удален или не обновится на origin-сервере.
Из-за постоянного утяжеления контента в интернете CDN-технология востребована как никогда. Сегодня в мире просто не существует подобных альтернатив для быстрой передачи больших объемов статических данных по сети. Поэтому понимание основ администрирования CDN-серверов — ключевой фактор при создании удобного сайта.
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…