我正在建立一个 Redis 集群。
我的理解是,如果我有一个 6 节点集群(3 个主节点,每个主节点有一个从节点),默认情况下,所有读取和写入都将发生在主节点上。如果任何一个 master 失败,那么一个 slave 将被提升为 master。
我希望能够允许奴隶也进行一些阅读(如果阅读有点陈旧也没关系)。
我看到集群规范支持该READONLY
标志。听起来我可以用它来完成我想要的。https://redis.io/commands/readonly
我的问题是,如果我有一个主节点和一个从节点,它们都可以执行读取操作,那么如何决定哪个节点(主节点或从节点)负责完成读取操作?这是某种循环方法吗?是否由客户决定?如果有帮助,我将使用 ioredis 作为我的客户:https ://github.com/luin/ioredis