feature request: header X-Memcache

Boguk Maxim astar at rambler-co.ru
Tue Aug 15 17:11:46 MSD 2006


> До можно сделать что-то вроде
> X-Accel-Redirect: /path
> 
> а /path смапить на memcached уже в самом nginx
> 
> только  я  не  знаю  будет  ли  X-Accel-Redirect  (так, да, называется
> заголовок?  по  памяти  писал)  перенаправлять  nginx  на  memcached,
> технических ограничений я не вижу, просто реализовал ли это Игорь?

На мой взгляд куда более правильно не использовать X-Accel-Redirect
A отдавать content напрямую связкой nginx+memcached
а в случае memcached miss запрашивать контент у backend одновременно записывая его в memcached.
(производительность связки nginx+memcached куда выше чем можно добится у nginx+(apache/mod_perl для X-Accel-Redirect)+ memcached)

Пример рабочего конфига (сильно упрощенный) :

location =/ajax/SOME_URL.html {
   #без этого content_type кривой будет
   default_type    text/html;

   #идем в memcached
   #ключ в memcached '/ajax/SOME_URL.html'
   #если у запроса нужны аргументы надо не забыть их сохранить для случая memcached miss
   #через set      $ArgsCopy       $args;
   #и потом добавить их через rewrite в location /_backend_/
   memcached_pass  SOME_MEMCACHED_IP:SOME_MEMCACHED_PORT;

   #если в memcached не попали то через 404 error_page запрашиваем данные у backend
   #который нам их отдает и записывает итог в memcached
   error_page      404 = /_backend_/ajax/SOME_URL.html;
}

#внутренний URL для обработки случаем memcached miss на этот location
location /_backend_/ {
   internal;
   #идем на backend
   proxy_pass http://BACKEND_IP:BACKEND_PORT/;
}



====================================================================
Орфография - это как Кунг Фу.
Настоящий мастер не применяет его без необходимости.

С уважением,
Максим Богук

Отдел развития веб-проектов
ООО "Рамблер Интернет Холдинг"

astar at rambler-co.ru   ICQ: 99-312-438
(910) 405-47-18
 





More information about the nginx-ru mailing list