Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Content Delivery Network (CDN)

Зачем

Реализует паттерн Static content hosting
scheme

  • это географически распределённая сетевая инфраструктура, обеспечивающая быструю доставку контента пользователям веб-сервисов и сайтов. Входящие в состав CDN cерверы географически располагаются таким образом, чтобы сделать время ответа для пользователей сайта/сервиса минимальным.
  • live-streaming: пользователи Интернета со всего мира могут в браузере (а иногда и в специальном приложении) смотреть или слушать трансляцию с мест событий
  • существенно снижает нагрузку на основной сервер, что помогает решить проблему пиковых нагрузок

Термины:

  • Ориджин (origin) — сервер, на котором хранятся исходные файлы или данные, раздаваемые через CDN.
  • PoP (point of presence, точка присутствия) — кэширующий сервер в составе CDN, расположенный в определенной географической локации. Для обозначения таких серверов также используется термин edge.
  • Динамический контент ― контент, генерируемый на сервере в момент получения запроса (либо изменяемый пользователем, либо загружаемый из базы данных).
  • Статический контент ― контент, хранимый на сервере в неизменяемом виде (например, бинарные файлы, аудио- и видеофайлы, JS и CSS).

schema

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

Технологии