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

Anton Kuznetsov maybe at arjlover.net
Sun Jun 14 01:01:52 MSD 2009


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

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

Конфиг:
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 at arjlover.net>

> Спасибо, что-то близко, но.. документация на nginx - это отдельная боль. :(
> Даже гугль не может мне подсказать что есть - $cookie_user & $scheme
> Кто-нибудь подскажет?
>
>
>
> 2009/6/13 Kirill A. Korinskiy <catap+nginx at catap.ru<catap%2Bnginx at catap.ru>
> >
>
> At Sat, 13 Jun 2009 17:57:36 +0200,
>> Anton Kuznetsov <maybe at arjlover.net> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090613/8613d2e1/attachment.html>


More information about the nginx-ru mailing list