我设置了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
我想继续分割服务器的工作并能够添加实例。我需要使用其他设置吗?
答案 0 :(得分:2)
Twemproxy无法做到这一点。您可以使用Redis群集,或者如果您想使用Twemproxy,则必须使用名为 presharding 的技术。也就是说,直接从32或64个实例或类似实例开始,即使它们都在同一主机中运行以启动。然后开始将实例从一个框移动到另一个框,以便扩展到多个实际服务器。在Twemproxy“redis_1”中配置的实例右侧的单词用于散列,以便您可以在移动实例时更改IP地址,并且该服务器的散列仍然相同。
此时,Redis Cluster是候选版本2。虽然它需要更多的测试和部署才能像Redis一样进行战斗测试,但它已经是一个可行的产品,所以你可能也想测试它。