Spymemcached, настроить для аварийного переключения

У меня есть кластер хостов membase, а также набор процессов moxi, работающих на разных компьютерах, настроенных для взаимодействия с этим кластером.

Мой клиент использует spymemcached, и я пытаюсь настроить MemcachedClient, чтобы он знал обо всех доступных процессах moxi. Таким образом, если один из этих процессов умирает, я хочу, чтобы spymemcached использовал другой moxi и продолжал отправлять данные в кластер.

В идеале все это должно быть сделано без потери информации об очередях.

Я играю с двумя процессами moxi, но не могу заставить его делать то, что я хочу.

Я просмотрел http://groups.google.com/group/spymemcached/browse_thread/thread/d33ca15c0a928d37# и http://groups.google.com/group/spymemcached/browse_thread/thread/f7cc37fc509b70a6/cbb967e824a0ab04?hl=en&lnk=gst&q=redistribute#cbb967e824a0ab04 безуспешно.

Может ли кто-нибудь сказать мне, возможно ли это в spymemcached? и если да, то как мне его настроить?

Я играю с разными конфигурациями ConnectionFactoryBuilder.

ConnectionFactoryBuilder builder = new ConnectionFactoryBuilder();
builder.setFailureMode(FailureMode.Redistribute);
builder.setProtocol(Protocol.BINARY);
builder.setLocatorType(Locator.CONSISTENT);

builder.setMaxReconnectDelay(1);
builder.setTimeoutExceptionThreshold(2);

ConnectionFactory cf = builder.build();

person Iker Jimenez    schedule 10.02.2011    source источник
comment
Что он делает, что вам не нравится? Почему вы считаете, что вам нужны и spymemcached, и moxi (последний — это инструмент, предназначенный для работы, как первый, где у вас нет долгоживущих процессов)?   -  person Dustin    schedule 10.02.2011
comment
Мне нужно использовать moxi, чтобы он мог распределять ключи по кластеру мембазы. Насколько я знаю, существует бета-версия spymemcached, в которой добавлена ​​поддержка этой и других функций базы данных, но мы не хотим использовать бета-версию. У нас есть один vbucket в membase, и мы хотим, чтобы сегментирование выполнялось процессами moxi. Но мы также хотим иметь механизм аварийного переключения на стороне клиента, чтобы он мог переключаться с одного moxi на другой, если используемый moxi умирает, без потери данных в очереди.   -  person Iker Jimenez    schedule 10.02.2011


Ответы (1)


Я не уверен, но вы не можете указать несколько серверов moxi в конфигурациях spymemcached? Насколько я знаю, moxi поддерживает протокол memcached, а spymemcached позволяет общаться с несколькими серверами memcached. Это означает, что spymemcached выберет один из серверов moxi на основе последовательного алгоритма хеширования, что на самом деле не имеет значения, поскольку в конечном итоге сервер memcached все равно будет выбран процессом moxi. Если один из процессов moxi умирает, spymemcached автоматически переключается на другой процесс moxi.

person Rohit Karlupia    schedule 02.11.2011