twemproxy (щелкунчик), добавляющий экземпляр redis и сохраняющий последовательность

Я настроил twemproxy (Щелкунчик) с 2-мя серверами redis в качестве бэкэндов, включая slave, sentinel и failover.

Как только я добавляю другой сервер Redis, некоторые ключи не могут быть прочитаны, вероятно, из-за перенаправления twemproxy на другой Redis.

Как добавить еще один экземпляр Redis, не нарушая согласованность?

Я хочу использовать настройки в качестве последовательной и очень быстрой базы данных.

Вот мои настройки:

redis_cluster:
  auto_eject_hosts: false
  distribution: ketama
  hash: fnv1a_32
  listen: 127.0.0.1:6379
  preconnect: true
  redis: true
  servers:
    - 127.0.0.1:7004:1 redis_1
    - 127.0.0.1:7005:1 redis_2

Я хочу сохранить работу сервера и добавить экземпляры. Нужно ли использовать другую настройку?

1 ответ

Twemproxy не может этого сделать. Вы можете использовать Redis Cluster, или если вы хотите использовать Twemproxy, вы должны использовать технику, называемую preharding. Иными словами, начните прямо с 32 или 64 экземпляров и т. П., Даже если все они запускаются на одном хосте. Затем начните перемещать экземпляры из одного ящика в другой, чтобы масштабировать их до нескольких реальных серверов. Слово справа от экземпляров, настроенных внутри Twemproxy "redis_1", используется для хеширования, так что вы можете изменить IP-адрес при перемещении экземпляров, и при этом хеширование будет тем же для этого сервера.

На данный момент Redis Cluster является кандидатом на выпуск 2. Несмотря на то, что он нуждается в большем количестве тестирований и развертываний для боевого тестирования, как и в Redis, он уже является жизнеспособным продуктом, поэтому вы можете попробовать его также.

Другие вопросы по тегам