ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

namespace-ы при использовании нескольких memc ached-ов


  • To: nginx-ru@xxxxxxxxx
  • Subject: namespace-ы при использовании нескольких memc ached-ов
  • From: Монашёв Михаил <postmaster@xxxxxxxxxxxxx>
  • Date: Tue, 19 Feb 2008 18:00:00 +0300
  • Organization: SoftSearch.ru

Здравствуйте.

Столкнулись   с   проблемой   некорректного  отображения  ключиков  на
несколько  мемкашед-серверов при включённом балансере memcached_hash (
http://openhack.ru/nginx-patched/wiki/MemcachedHash ). Проблема в том,
что перловые модули Cache::Memcached и Cache::Memcached::Fast, которые
записывают ключики в мемкашед, при расчёте сервера используют ключ без
нэйспейса.  А  в  конфиге  nginx-а  можно  было  задать только ключик.
Поэтому нейспейс писался прямо в ключик:

set $memcached_key   "my-namespace$uri$is_args$args";

И это прекрасно работало, когда не было балансера (ибо nginx обходил
все мемкашед-сервера в поисках ключа).

Но  чтобы  корректно вычислить мемкашед-сервер нужен только ключик без
неймспейса.     По     этой    причине    мы    добавили    переменную
$memcached_namespace:

set $memcached_namespace "my-namespace";
set $memcached_key       "$uri$is_args$args";

С  ней  всё  будет работать как и прежде, но перед отправкой запроса к
мемкашеду,  к  ключу  будет  препендиться неймспейс, а мемкашед-сервер
будет вычисляться только от ключа.

Подробнее тут: http://openhack.ru/nginx-patched/wiki/MemcachedHash

-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.




 




Copyright © Lexa Software, 1996-2009.