我在3台linux服务器(centos 7)上使用redis cluster。我有标准配置,即6个节点、3个主示例和3个从示例(一个主有一个从)分布在这3台linux服务器上。我将这个设置用于我的web应用程序的数据缓存,http响应缓存。我的目标是读主要的和写次要的,即读操作不应该失败或延迟。
现在我想问的是,是否有必要在3台linux服务器之前配置任何负载均衡器,以便我的web应用程序对redis集群示例的请求可以在这些redis服务器上正确分布?或者redis集群本身能够处理负载分布?
如果是,那么请提及任何参考链接来配置相同的。我已经查看了redis cluster的官方文档,但是它没有指定任何关于负载均衡器设置的内容。
1条答案
按热度按时间vawmfj5a1#
如果您在“集群模式”下运行redis,则不需要负载均衡器。您的redis客户机(假设一切正常)应该与redis联系,以获取应用程序启动时哪些插槽位于哪些节点上的列表。它将在本地(在您的应用程序中)散列密钥,并将请求直接发送到拥有该密钥插槽的节点(这避免了对redis的额外调用,从而导致
MOVED
回应)。您应该能够将您的客户机配置为在从机上执行读操作和在主机上执行写操作,或者只在主机上执行读操作和写操作。除了配置客户机之外,如果您想在从属服务器上执行读取,请查看
READONLY
命令:https://redis.io/commands/readonly .