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