Как использовать Redis в качестве распределенного хранилища значений ключей - PullRequest
5 голосов
/ 20 февраля 2012

Мои требования -

  1. Распределенные приложения, сидящие на разных машинах и выполняющие операцию set / get
  2. Возможность добавления серверов и перебалансировки определенных областей данных. [А.К.А. - последовательное хеширование]

Проблемы - Просматривая клиент REDIS, который может похвастаться последовательным хешированием - JEDIS и т. Кажется, они хранят ключ к shardinfo в памяти, поэтому не уверены, как [1] ​​будет работать.

Ответы [ 4 ]

3 голосов
/ 20 февраля 2012

Это сообщение в блоге от автора redis может быть полезным. Как указано там, на данный момент вы можете осколить клиент, который страдает от проблем с обслуживаемостью.

2 голосов
/ 21 февраля 2012

У Redis нет действительно распределенного решения, Redis Cluster еще в пути. Вы можете выполнить репликацию «главный-подчиненный» , чтобы обеспечить более высокую производительность и надежность. Но все такие вещи, как «автоматически выбирать нового мастера, если старый мастер отключен», должны выполняться вручную.

0 голосов
/ 23 января 2014

Реализация Redis Cluster находится в стадии разработки и также находится в стадии бета-тестирования.Однако сейчас он не стабилен, но вы можете попробовать.http://redis.io/topics/cluster-spec

Есть еще один вариант - Sharded Jedis Pool.https://github.com/xetorthio/jedis/wiki/AdvancedUsage

0 голосов
/ 09 июня 2012

Другой пример, иллюстрирующий шардинг REDIS в CRAIGLIST , где они имеют имена виртуальных узлов в согласованном хэш-кольце и могут удвоить емкость без повторного шардинга / перетасовки.

...