ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Кэширование графиков от б экэнда



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

Я думал в такую сторону...
http://host/image/p1/p2/image.png, где p1 & p2 - параметры
оно же для томката:
http://host/image.jsp?p1=p1&p2=p2

Конфиг:
location ^~ /image/ {
error_page      404 = @fallback;
}
location @fallback {
    rewrite /image/(.*)/(.*)/image.png      /image.jsp?p1=$1&p2=$2 last;
    proxy_pass http://127.0.0.1:8080
}

Мне кажется так будет работать. Будет? :)
В этой схеме я заранее смогу нагенерить самых востребованных графиков, остальные - сами в процессе подтянутся, логика для томката - куда сохранять - примитивная. Если объемы будут вменяемые, то можно в эту схему вставить две строчки про мемкэш и хранить все в памяти. Вот только в данном варианте совсем нет никаких идей по проверке авторизации. Возможно как-то прикрутить? Сессию, куку, что-то еще? Может p1 - это md5 от чего-то что можно проверить правилом конфиге nginx-a?



2009/6/13 Anton Kuznetsov <maybe@xxxxxxxxxxxx>
Спасибо, что-то близко, но.. документация на nginx - это отдельная боль. :( Даже гугль не может мне подсказать что есть - $cookie_user & $scheme
Кто-нибудь подскажет?



2009/6/13 Kirill A. Korinskiy <catap+nginx@xxxxxxxx>

At Sat, 13 Jun 2009 17:57:36 +0200,
Anton Kuznetsov <maybe@xxxxxxxxxxxx> wrote:
>
> [1  <text/plain; UTF-8 (base64)>]
>
> [2  <text/html; UTF-8 (base64)>]
> Есть задача-проблема из двух частей.
>
> 1. За нжинксом стоит томкат, он по урлам типа http://host/image.jsp?param1=xx&param2=yy&param3=zz
> отдает графики. Построение графика крайне тяжелое, необходимо кэширование. Возможно ли сохранить
> картинку на диск из томката или закэшировать нжинксом, чтобы при повторном запросе - отдался готовый
> PNG нжинксом? На следующий день, в некий час икс, все графики становятся устревшими, необходима
> очистка кэша.
>

вносите в url изменяемую, с часом икс, часть. Например дату.

> 2. Авторизация. Она построена на сессиях томката. Чего очень не хочется - чтобы один пользователь
> посмотрев внимательно на свои param, не надергал из кэша графиков других пользователей.
>
> Это все решаемо? Если решаемо - интересны примеры конфига.


http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache_key

--
wbr, Kirill




--
Best regards,
Anton Kuznetsov.      



--
Best regards,
Anton Kuznetsov.      


 




Copyright © Lexa Software, 1996-2009.