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