RE: Re: ESI на nginx
Boguk Maxim
astar at rambler-co.ru
Fri Mar 9 14:28:29 MSK 2007
Сейчас можно сделать только половину из того что хотелось бы...
Причины:
1)nginx сам не умеет ставить ответ в memcached (как итог надо делать логику установки данных в memcached на уровне backend что не всегда удобно/возможно)
2)nginx не использует get_multi (и вполне понятно почему... Так как использование get_multi требует полного разбора html для получения всего списка includes что противоречит идеологии потоковой обработки по мере поступления данных)
3)и основная для меня сейчас проблема... Возникающая из-за 1). Я не могу использовать несколько memcached серверов как единый кластер для кэширования nginx includes. Так как не возможно указать nginx алгоритм выбора того или иного memcached сервера из списка на основе URL.
Я надеюсь на реализацию общего механизма кэширования данных в nginx (на подобие mod_accel)
Где memcached cluster будет одной из поддерживаемых альтернатив файловой системе.
> -----Original Message-----
> From: owner-nginx-ru at mail.sysoev.ru
> [mailto:owner-nginx-ru at mail.sysoev.ru] On Behalf Of Dmitriy MiksIr
> Sent: Friday, March 09, 2007 2:10 PM
> To: nginx-ru at sysoev.ru
> Subject: Re: ESI на nginx
>
>
> Так а что, разве сейчас нельзя блоки писать на старом
> добром SSI, урлы
> указывать на мемкеш и фалбек в прокси/fastcgi?
>
>
> Михаил Монашёв пишет:
> > Здравствуйте nginx-ru,
> >
> > В ходе общения на http://www.rit2007.ru/class/924.html
> возникла идея
> > реализовать подобие Edge Side Includes
> (ESI)
> > http://www.akamai.com/html/support/esi.html на nginx. Идея
> следующая:
> > по аналогии с SSI nginx получает страничку, состоящую из
> нескольких
> > includ-ов, только все они инклудят не файл с диска, а то,
> что отдастся
> > по HTTP бэкендом (Апачем, FCGI, с диска, из memcached, с
> произвольного
> > хоста в интернете). Кроме того, получив каждый инклуд,
> nginx кладёт
> > его в memcached на время, указанное бэкендов в
> HTTP-заголовке и при
> > следующем обращении на вставку нескольких инклудов,
> сначала делает
> > один запрос в memcached посредством
> get_multi(url1,url2-...) для
> > получения всех закэшированных инслудов, а потом
> оставшиеся дёргает с
> > бэкендов.
> >
> > Как Вам задумка?
> >
> > С уважением,
> > Михаил Монашёв, SoftSearch.ru
> > mailto:postmaster at softsearch.ru
> > ICQ# 166233339
> > http://softsearch.ru/
> > Без бэкапа по жизни.
> >
> >
> >
>
>
>
More information about the nginx-ru
mailing list