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



我设置了 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

我想继续对服务器的作业进行分片并能够添加实例。我是否需要使用其他设置?

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

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

最新更新