Кэширование

В этой статье описаны базовые принципы и возможности по управлению кэшированием на Платформе.

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

Кэширование является базовой функциональной возможностью сервиса Edge Cloud Delivery.

На Платформе доступно две схемы кэширования данных:

  • Без промежуточного кэширования данных: данные кэшируются только на серверах доставки.

  • С промежуточным кэшированием данных: данные кэшируется на серверах доставки и серверах промежуточного кэширования.

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

  • Серверы промежуточного кэширования размещены между серверами доставки и серверами оригинации на пути следования запроса от источника запроса к источнику данных.

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

Для реализации схемы кэширования с промежуточным кэшированием данных в составе вашего Аккаунта должен быть включен сервис Origin Shield.

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

В обеих схемах кэширования данные попадают в кэш серверов доставки при первом запросе пользователя к объекту:

  1. Пользователь обращается к данным.

  2. Сервер доставки проверяет наличие объекта в кэше и его актуальность.

  3. Если объект находится в кэше и актуален, то он отдается пользователю.

  4. Если объекта нет в кэше или он не актуален, он загружается с сервера оригинации в кэш сервера доставки и отдается пользователю.

Управление кэшированием на Платформе определяется комбинацией настроек, задаваемых:

  • инженерами NGENIX в внутренних системах управления Платформы;

  • заказчиками в клиентском портале NGENIX Multidesk и/или в HTTP-заголовках на сервере оригинации.

Базовые принципы кэширования

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

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

  3. Кэшируются только ответы, которые были инициированы запросами с HTTP-методами GET или HEAD.

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

  5. Если к сохраненным в кэше данным в течении 3 суток не было ни одного запроса, данные удаляются из кэша, несмотря на значение директивы max-age HTTP-заголовка Cache-Control или HTTP-заголовка Expires.

  6. Если в NGENIX Multidesk в настройках ключа кэширования включен ключ кэширования Аргументы, то кэширование объекта происходит с учетом аргументов запроса, то есть, URL вида https://www.example.com/css/style.css?version=1 и https://www.example.com/css/style.css?version=2 будут разными объектами с точки зрения кэша.

  7. Содержимое HTTP-заголовка Vary не учитывается при кэшировании.

  8. Серверы доставки могут отдать пользователю неактуальные данные из кэша, если по каким-то причинам не могут получить новые данные с сервера оригинации (таймаут соединения и т.п.).

На Платформе доступны следующие способы управления правилами кэширования:

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

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

Last updated