重定向到奴隶

时间:2011-10-08 10:20:41

标签: redis load-balancing virtualhost

REDIS是否具有内置机制,在主机关闭时将使用从机? 我可以使用虚拟IP指向主设备,当主设备关闭时,是否可以指向从设备?

根据文件:

elect the slave to master using the SLAVEOF NO ONE command, and shut down your master.

但应用程序将如何知道已更改的IP?

mysql有一个名为MMM的第三方实用程序(带监视器的主主副本)。 REDIS有这样的实用工具吗?

1 个答案:

答案 0 :(得分:1)

您可以在负载均衡器中使用虚拟IP,但这不是内置于Redis中的。任何高质量的硬件或软件负载均衡器都应该能够做到。例如,您可以使用“balance”或HAProxy来支持VIP并使用一个或多个规则来检查Redis实例的状态,以查看哪个是主服务器并将其设置为负载均衡器中的目标(LB)。

走这条路线需要一个或多个额外的服务器(或VM,具体取决于您的设置),但它会为您提供一个配置,让客户端与单个IP通信,并且无需知道他们需要在哪个服务器上进行通信后端。如何更新要与之通信的服务器的LB取决于您使用的LB.幸运的是,他们都不需要知道或处理Redis协议;他们只是在平衡一个港口。

当我走这条路时,我会选择Slave-VIP和Master-VIP。 slave-VIP负载在所有Redis实例之间进行平衡,而Master-VIP仅启用当前主服务器。如果您的写入负载很重,您可以将当前主服务器从Slave-VIP池中取出。否则我会留下来;这消除了对Slave-VIP池进行故障转移更新的需要。