Re: proxy_cache, особенности

Alex Mizrahi alex.mizrahi at gmail.com
Sat May 16 01:07:53 MSD 2009


 SS> Кеширование делается для разгрузки бекендов, чтоб не дергать их ЛИШНИЙ
 SS> раз. Но если бекенд погибает под нагрузкой без кеша - значит таки да,
 SS> надо улучшать бекенд. Например ставить второй.

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

 SS> Или ставить запросы в очередь.

вариант далеко не идеальный, хотя я об этом думал.

 SS> Возможны разной степени извращенности схемы ограничения конектов между
 SS> nginx и бекендом. Самые простые: поставить между ними haproxy и
 SS> настроить/пропатчить бекенд.

а вот я нашёл практически идеальную схему -- использовать
для кэширования varnish,  у него есть т.н. grace -- пока бэкенд отвечает на 
запрос,
на паралельные запросы varnish будет отдавать expired object. в принципе, 
это как раз
то что мне надо -- на бэкенд будет идти не более одного запроса за раз, а 
max-age можно ставит как угодно низким.

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






More information about the nginx-ru mailing list