Чем отличаются и на что влияют типы CDN: P2P, Push и Pull

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

CDN (Content Delivery Network) — распределенная сетевая архитектура, созданная для ускорения доставки контента пользователям. CDN влияет на скорость загрузки любого контента сайтов и приложений, который видит пользователь: аудио, видео, стриминг, изображения, тексты, графика.

Сеть доставки контента делится на три типа: P2P, Push и Pull. В материале разбираемся в отличиях и особенностях разных CDN.

P2P 

Peer‑to‑peer CDN — это децентрализованная сеть, в которой пользователи распространяют контент между собой, а не полагаются на централизованный сервер. Данный метод позволяет снизить нагрузку на исходный сервер и повысить скорость доставки контента.

P2P CDN распределяет контент между пользователями. Данная модель не использует HTTP‑серверы, в отличие от традиционных CDN, когда в сетях размещают множество HTTP‑серверов по всему миру, на которых кэшируется и хранится контент.

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

Push 

Push CDN — метод, при котором контент активно передается с сервера происхождения на пограничные серверы CDN. Это может быть полезно для контента, который часто обновляется или имеет высокий спрос.

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

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

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

Pull 

Pull CDN — метод, при котором контент запрашивается пограничными серверами CDN с исходного сервера. В отличие от метода Push, сама CDN отвечает за извлечение нужного контента для доставки посетителям. Это наиболее распространенный тип CDN, который может быть полезен для контента, который не часто обновляется или имеет низкий спрос. 

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

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

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

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

Источник: https://habr.com/ru/company/itglobalcom/blog/719848/


Интересные статьи

Интересные статьи

Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое н...
В статье рассмотрел инструмент для анализа кода DartCodeMetrics и о том, насколько полезно его использовать. Постарался поделиться своими знания в создании нового правила для анализатора. Автоматизир...
Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов). Традиционн...
Всем привет. Когда я искал информацию о журналировании (аудите событий) в Bitrix, на Хабре не было ни чего, в остальном рунете кое что было, но кто же там найдёт? Для пополнения базы знаний...
Привет, Хабр. На днях я искал, как сделать что-то в Idris, и наткнулся на неплохой пост, вольный перевод которого выглядит вполне уместным. Вольности и отсебятину, где необходимо, я буду обознача...