首页 > 解决方案 > Redis-Cluster READONLY - 读取操作如何负载平衡?

问题描述

我正在建立一个 Redis 集群。

我的理解是,如果我有一个 6 节点集群(3 个主节点,每个主节点有一个从节点),默认情况下,所有读取和写入都将发生在主节点上。如果任何一个 master 失败,那么一个 slave 将被提升为 master。

我希望能够允许奴隶也进行一些阅读(如果阅读有点陈旧也没关系)。

我看到集群规范支持该READONLY标志。听起来我可以用它来完成我想要的。https://redis.io/commands/readonly

我的问题是,如果我有一个主节点和一个从节点,它们都可以执行读取操作,那么如何决定哪个节点(主节点或从节点)负责完成读取操作?这是某种循环方法吗?是否由客户决定?如果有帮助,我将使用 ioredis 作为我的客户:https ://github.com/luin/ioredis

标签: redismaster-slaveredis-clusterioredis

解决方案


找到答案:这取决于您使用的客户端。对于 Ioredis,选项记录在此处:

https://github.com/luin/ioredis#read-write-splitting


推荐阅读