Я работаю над созданием кластера Redis.
Насколько я понимаю, если у меня кластер из 6 узлов (3 мастера, каждый с одним подчиненным), по умолчанию все операции чтения и записи будут выполняться на мастерах. Если кто-либо из мастеров потерпит неудачу, раб будет повышен до мастерства.
Я бы хотел, чтобы рабы могли также выполнять некоторую часть чтения (это нормально, если чтение немного устарело).
Я видел, что спецификация кластера поддерживает флаг READONLY
. Похоже, я могу использовать это, чтобы выполнить то, что я хочу. https://redis.io/commands/readonly
У меня вопрос: если у меня есть ведущий и ведомый, оба из которых могут выполнять операции чтения, как решается, какой узел (ведущий или ведомый) отвечает за выполнение операции чтения? это какой-то круговой подход? Это решать клиенту? Если это поможет, я использую ioredis в качестве моего клиента: https://github.com/luin/ioredis