REDIS有没有内置的机制,可以在master宕机的时候使用slave?是否可以使用虚拟IP直接到主机,当主机宕机时是否可以直接到从设备?
如文件所示:
elect the slave to master using the SLAVEOF NO ONE command, and shut down your master.但是应用程序如何知道更改后的IP呢?
mysql有一个第三方实用程序,称为MMM (带监视器的主复制)。REDIS有这样的实用工具吗?
发布于 2011-10-10 03:20:00
您可以在负载均衡器中使用虚拟IP,尽管这不是Redis内置的。任何高质量的硬件或软件负载均衡器都应该能够做到这一点。例如,您可以使用balance或HAProxy作为VIP的前端,并使用脚本或规则来检查Redis实例的状态,以查看哪个是主实例,并将其设置为负载均衡器(LB)中的目标。
走这条路需要一个或多个额外的服务器(或VM,取决于您的设置),但它会为您提供一种配置,让客户端与单个IP通信,而不知道它们需要在后端与哪台服务器通信。如何使用哪台服务器更新LB取决于您所使用的LB。幸运的是,它们中的任何一个都不需要知道或处理Redis协议;它们只是平衡一个端口。
当我走这条路线时,我会选择Slave-VIP和Master-VIP。slave-VIP跨所有Redis实例进行负载均衡,Master-VIP仅开启当前master。如果您的写负载非常重,您可以将当前的master留在Slave-VIP池之外。否则,我将把它留在里面;这样就不需要对Slave-VIP池进行故障转移更新。
https://stackoverflow.com/questions/7696167
复制相似问题