Сеть доставки контента (CDN) - это географически распределенная группа серверов, работающих вместе для обеспечения быстрой доставки интернет-контента. Обычно CDN используется для предоставления статических файлов, таких как HTML/CSS/JS, фотографий и видео.
Сеть доставки контента (CDN) повышает доступность и избыточность контента, снижая при этом затраты на передачу данных и улучшая безопасность. Использование CDN для доставки контента значительно улучшает производительность, так как пользователи получают контент из центров обработки данных, находящихся ближе к ним, и наши серверы не обрабатывают запросы, которые CDN выполняет самостоятельно.
В CDN оригинальные версии контента хранятся на исходном сервере, в то время как краевые серверы распределены в различных местах по всему миру.
Для минимизации расстояния между посетителями и сервером веб-сайта, CDN хранит кэшированную версию контента в нескольких географических точках, известных как краевые локации. Каждая краевая локация содержит несколько серверов кэширования, отвечающих за доставку контента посетителям в своем районе.
После кэширования статических ресурсов на всех CDN-серверах для определенного местоположения все последующие запросы посетителей веб-сайта на статические ресурсы будут обслуживаться с этих краевых серверов, а не с исходного сервера, что снижает нагрузку на исходный сервер и улучшает масштабируемость.
Например, когда кто-то из Великобритании запрашивает наш веб-сайт, который может быть размещен в США, он будет обслуживаться из ближайшей краевой локации, такой как лондонская. Это гораздо быстрее, чем если бы посетитель отправлял полный запрос на исходный сервер, что увеличило бы задержку.
CDN обычно делятся на два типа:
Push CDN получает новый контент каждый раз, когда происходят изменения на сервере. Мы несем полную ответственность за предоставление контента, загружая его напрямую в CDN и перенаправляя URL-адреса на CDN. Мы можем настроить время истечения контента и время его обновления. Контент загружается только тогда, когда он новый или измененный, что минимизирует трафик, но максимизирует хранение.
Сайты с небольшим количеством трафика или сайты с контентом, который не часто обновляется, хорошо работают с Push CDN. Контент размещается на CDN один раз, вместо того чтобы регулярно перетягиваться.
В случае с Pull CDN кэш обновляется на основе запроса. Когда клиент отправляет запрос, требующий извлечения статических ресурсов из CDN, и если CDN не имеет их, то он извлекает обновленные ресурсы с исходного сервера, пополняет свой кэш этим новым активом и затем отправляет этот новый кэшированный ресурс пользователю.
В отличие от Push CDN, это требует меньше обслуживания, так как обновления кэша на узлах CDN выполняются на основе запросов клиента к исходному серверу. Сайты с большим трафиком хорошо работают с Pull CDN, так как трафик распределяется более равномерно, и на CDN остаются только недавно запрошенные ресурсы.
Как мы все знаем, хорошие вещи сопряжены с дополнительными затратами, так что давайте обсудим некоторые недостатки CDN:
Вот некоторые широко используемые CDN: