Pull to refresh

Сказ о CDN, чтение на ночь

Level of difficultyEasy
Reading time3 min
Views4.8K

О чём статья и для какой аудитории?

В первую очередь, хотелось бы предупредить особо чувствительные души, которые не воспринимают технические статьи, написанные облегченным языком для обывателя, вам лучше всего пропустить этот материал. Здесь поговорим о том что такое CDN? Как оно работает? И зачем оно нужно?

У нас есть план и мы его придерживаемся.

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

О CDN.

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

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

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

"Он нам не нужон, CDN ваш"

Рассмотрим ситуацию, когда мы не используем CDN для нашего ресурса. Но мы должны осознавать, что если мы отдаем наш контент куда-то далеко от нас, то мы понимаем, что не все пользователи сидят на оптоволокне в метре от нашего дата-центра, у них очень разное качество соединения. У них может быть очень плохой Round-Trip time. Существует также понятие Jitter.

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

Без использования CDN
Без использования CDN

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

Расстояние от пользователя до сервера измеряется в хопах, это количество промежуточных узлов, либо сетевых соединений.

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

1)    Пользователь получает контент быстрее. RTT и Jitter снижаются.

2)    Мы разгружаем свои каналы и дата центры.

3)    Провайдеры экономят на траффике.

На схеме ниже, вашему вниманию представлен простейший пример работы CDN сервера.

Применение CDN-сервисов способствует повышению производительности веб-сайта и обеспечивает быстрый доступ к контенту для пользователей. Это особенно значимо для крупных сайтов с массовым посещением, где даже небольшая задержка может привести к потере клиентов. В следующем материале, мы обязательно поговорим об уникальном протоколе динамической маршрутизации BGP (Border Gateway Protocol), который успешно применяется в сетях нашего времени.

Tags:
Hubs:
Total votes 11: ↑6 and ↓5+4
Comments4

Articles