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