Диспетчер CQ5 и заголовки управления кешем

Какова правильная настройка кэширования заголовка ответа с более чем одним диспетчером за балансировщиком нагрузки?

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

Какое правильное решение для этого?

Возможно, «FileETag Size» вызовет одинаковый ETag во всех экземплярах диспетчера, но я надеюсь, что есть лучшее решение.

Спасибо!


person nerd    schedule 12.04.2014    source источник


Ответы (1)


Если вы посмотрите на изображение в примере приложения geometrixx, вы увидите, что эпоха записывается в виде суффикса в конце пути к экземпляру компонента с помощью CQ5. то есть /content/geometrixx/mypage/_jcr_content/mycomponent/myimg.img.jpg/1397355982.jpg

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

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

FileETag Size также не будет равен 100%, так как вы ожидаете, что файл будет отличаться количеством байтов. Он работает относительно нормально с алгоритмами веб-изображений с потерями и т. Д., Поскольку размер файла будет меняться при редактировании файла.

Единственное, что нужно иметь в виду, это то, насколько быстро ваше решение для пограничного кэширования регенерирует etags. Мы обнаружили, что F5 с веб-ускорителем отлично справляется с этой задачей. Этот метод позволяет вам кэшировать навсегда, значительно снижая нагрузку на ваши серверы, особенно если у вас нет безграничного конвейера и повторяющихся изображений в начале страницы, которые посещаются в течение более длительного периода времени.

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

Надеюсь, это немного поможет.

person Bayani Portier    schedule 13.04.2014
comment
Спасибо, это очень помогает! - person nerd; 14.04.2014