ESI на nginx

Igor Sysoev is at rambler-co.ru
Sun Mar 11 23:28:51 MSK 2007


On Fri, Mar 09, 2007 at 11:36:04AM +0300, Михаил Монашёв wrote:

> В  ходе  общения на 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?...)  для
> получения  всех  закэшированных инслудов, а потом оставшиеся дёргает с
> бэкендов.
> 
> Как Вам задумка?

Некоторая часть ESI в nginx присутствует, а именно - SSI-фильтр работает
для любых ответов, независимо от их источника - файл, ответ прокси, FastCGI
или memcached. Что сейчас не работает - так это возможность задать
в include virtual произвольный URL - нужно явно описывать в конфигурации,
куда URL будект проксироваться. Что касается кэширования, то я планирую
делать его внутри nginx'а.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list