Кэширование
В этой статье описаны базовые принципы и возможности по управлению кэшированием на Платформе.
Распределенное кэширование данных является одной из технологий Платформы и во многом определяет ее эффективность в части повышения доступности и скорости загрузки данных. Чем больше данных размещено в кэше серверов доставки, тем быстрее они загружаются на устройства пользователей и тем меньше нагрузка на сервер оригинации.
Кэширование является базовой функциональной возможностью сервиса Edge Cloud Delivery.
На Платформе доступно две схемы кэширования данных:
Без промежуточного кэширования данных: данные кэшируются только на серверах доставки.
С промежуточным кэшированием данных: данные кэшируется на серверах доставки и серверах промежуточного кэширования.
Схема с промежуточным кэшированием данных позволяет сократить количество запросов к серверам оригинации со стороны распределенных серверов доставки, так как эта нагрузка обслуживается серверами промежуточного кэширования:
Серверы промежуточного кэширования размещены между серверами доставки и серверами оригинации на пути следования запроса от источника запроса к источнику данных.
Количество серверов промежуточного кэширования меньше, чем серверов доставки. При этом серверы промежуточного кэширования обладают большей в сравнении с серверами доставки областью кэширования данных.
Для реализации схемы кэширования с промежуточным кэшированием данных в составе вашего Аккаунта должен быть включен сервис Origin Shield.
Добавление дополнительного слоя кэширования увеличивает задержку для данных, запрашиваемых первый раз и еще не находящихся в кэш памяти, и уменьшает задержку для ранее закэшированных данных.
В обеих схемах кэширования данные попадают в кэш серверов доставки при первом запросе пользователя к объекту:
Пользователь обращается к данным.
Сервер доставки проверяет наличие объекта в кэше и его актуальность.
Если объект находится в кэше и актуален, то он отдается пользователю.
Если объекта нет в кэше или он не актуален, он загружается с сервера оригинации в кэш сервера доставки и отдается пользователю.
Управление кэшированием на Платформе определяется комбинацией настроек, задаваемых:
инженерами NGENIX в внутренних системах управления Платформы;
заказчиками в клиентском портале NGENIX Multidesk и/или в HTTP-заголовках на сервере оригинации.
Базовые принципы кэширования
Серверы доставки и серверы промежуточного кэширования имеют независимый кэш, таким образом объект может находиться в кэше одних серверов и отсутствовать на других.
Для каждой Сервисной конфигурации используется отдельная область кэширования на серверах доставки и серверах промежуточного кэширования данных.
Кэшируются только ответы, которые были инициированы запросами с HTTP-методами GET или HEAD.
Серверы доставки при кэшировании данных учитывают регистр букв в URL, поэтому имя файлов на сервере оригинации должно совпадать с именем запрашиваемого файла через URL с учетом регистра.
Если к сохраненным в кэше данным в течении 3 суток не было ни одного запроса, данные удаляются из кэша, несмотря на значение директивы
max-age
HTTP-заголовкаCache-Control
или HTTP-заголовкаExpires
.Если в NGENIX Multidesk в настройках ключа кэширования включен ключ кэширования Аргументы, то кэширование объекта происходит с учетом аргументов запроса, то есть, URL вида
https://www.example.com/css/style.css?version=1
иhttps://www.example.com/css/style.css?version=2
будут разными объектами с точки зрения кэша.Содержимое HTTP-заголовка
Vary
не учитывается при кэшировании.Серверы доставки могут отдать пользователю неактуальные данные из кэша, если по каким-то причинам не могут получить новые данные с сервера оригинации (таймаут соединения и т.п.).
На Платформе доступны следующие способы управления правилами кэширования:
Если вы обновили данные на сервере оригинации и необходимо оперативно применить изменения в кэше серверов доставки, а также если в кэше серверов доставки находится объект, распространение которого необходимо немедленно прекратить, то вы можете удалить конкретные объекты или полностью очистить кэш серверов доставки и серверов промежуточного кэширования.
Вы можете управлять правилами кэшированием на Платформе только для Сервисных конфигураций с типом архитектуры Проксирование/кэширование содержимого веб-ресурса. В остальных случаях правила кэширования определяются инженерами NGENIX и не могут быть изменены.
Last updated