1

据我了解,如果redis要在一组机器上运行,将会有几个奴隶和一个主人。并且可以在启动时使用命令使从站连接到主站。然后集群上每台机器上的哨兵可以连接到主服务器以找出所有从服务器,然后如果当前主服务器由于某种原因出现故障,则将其中一个切换到主服务器。

现在,我的问题是 - 当我们在集群上启动 redis 服务器时,当指定的主服务器关闭时,我们如何进行故障转移?SLAVEOF 命令将失败,并且不会有主控,因此哨兵无法从中获取配置数据。我们如何解决这个问题?谢谢 !

4

1 回答 1

1

因此,仍在开发中的 Redis Cluster 旨在解决这个确切的问题。
http://redis.io/topics/cluster-spec

Zookeeper、HAProxy 和许多其他工具可以添加到您的设置中,以实现这种自动故障转移。尽管带有哨兵的 Redis 仅靠自己管理一块拼图。

您的应用程序现在需要更新其配置以指向新的主节点。因此,您需要在 Redis 连接逻辑中添加故障转移逻辑。我不知道有什么简单的解决方案可以指向您,因为这取决于您的应用程序是用什么编写的。

我之前问过一个类似的问题,更具体地说,Java Redis/Jedis 没有单点故障和自动故障转移

并得到了一些好的信息。

于 2014-06-18T12:42:32.793 回答