twemproxy(胡桃夹子)添加redis实例并保持一致性

时间:2015-01-14 20:58:50

标签: redis instance add twemproxy

我设置了twemproxy(胡桃夹子)和2个redis服务器作为后端,包括奴隶,哨兵和故障转移。

当我添加另一台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 个答案:

答案 0 :(得分:2)

Twemproxy无法做到这一点。您可以使用Redis群集,或者如果您想使用Twemproxy,则必须使用名为 presharding 的技术。也就是说,直接从32或64个实例或类似实例开始,即使它们都在同一主机中运行以启动。然后开始将实例从一个框移动到另一个框,以便扩展到多个实际服务器。在Twemproxy“redis_1”中配置的实例右侧的单词用于散列,以便您可以在移动实例时更改IP地址,并且该服务器的散列​​仍然相同。

此时,Redis Cluster是候选版本2。虽然它需要更多的测试和部署才能像Redis一样进行战斗测试,但它已经是一个可行的产品,所以你可能也想测试它。