Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: кеширование и авто ризация
On Sun, Aug 23, 2009 at 11:57:40PM +0400, Андрей Бойко wrote:
> У такого варианта есть двое подводных грабель (или граблей?)
> 1. Не все знают перл, скажем так, это своеобразный язык.
Все языки своеобразные.
> 2. Не думаю, что это наилучшим образом повлияет на призводительность.
> Второй пункт обосную примером - однажды использовал встроенный перл в
> отличном мэйлере exim для кеширования запросов к бэкенду (mysql) - бедняга
> экзим сразу стал лидером top-а (раньше он там вообще замечен не был). У меня
> есть подозрение, что проверить наличие файла (или ключа в key-value) на С
> будет быстрее, чем проверить куку на перле. Но может я и ошибаюсь.
Это зависит не столько от языка, сколько от программиста.
> On Fri, 21 Aug 2009 21:06:45 +0400
> Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
>
> > On Fri, Aug 21, 2009 at 06:51:40PM +0400, Андрей Бойко wrote:
> >
> > > Хорошо, все достаточно просто и ясно.
> > > А теперь расширю горизонт. Допустим, есть стадо бакендов. Плодить на
> > > каждом из них файлы непрактично и бессмысленно. Есть масштабируемое
> > > решение - мемкэш(дб) - можно создавать ключи там. Есть ли возможность
> > > организовать такую проверочку средствами nginx (ну то есть мы заменяем
> > > try_files например на try_memcached - или как-то еще иначе)?
> >
> > Я вообще не понимаю, зачем нужно куда-то ходить для проверки валидности
> > значения куки. Значение куки достаточно зашифровать как-то так:
> >
> > время действия + HMAC(время действия)
> >
> > и проверять это встроенным перлом, как было описано в самом начале.
> > И не надо ни куда ходить и плодить файлы.
> >
> > > On Fri, 21 Aug 2009 16:09:45 +0400
> > > Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> > >
> > > > On Fri, Aug 21, 2009 at 04:00:45PM +0400, Denis Shaposhnikov wrote:
> > > >
> > > > > On Fri, 21 Aug 2009 15:03:32 +0400
> > > > > Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> > > > >
> > > > > > location / {
> > > > > >
> > > > > > root /path/to/cookie_files;
> > > > > > $cookie_NAME @auth;
> > > > > >
> > > > > > proxy_pass http://backend; # без слэша!!
> > > > > > proxy_cache ...
> > > > > > }
> > > > > >
> > > > > > location @auth {
> > > > > > proxy_pass http://backend;
> > > > > > }
> > > > >
> > > > > А что здесь означает "$cookie_NAME @auth"? Это просто опечатка или
> > > > > работающая конструкция?
> > > >
> > > > - $cookie_NAME @auth;
> > > > + try_files $cookie_NAME @auth;
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
>
>
> --
> Андрей Бойко <kaa@xxxxxxxxxx>
--
Игорь Сысоев
http://sysoev.ru
|