Redis-Cluster READONLY - как сбалансирована загрузка операций чтения? - PullRequest
0 голосов
/ 27 июня 2018

Я работаю над созданием кластера Redis.

Насколько я понимаю, если у меня кластер из 6 узлов (3 мастера, каждый с одним подчиненным), по умолчанию все операции чтения и записи будут выполняться на мастерах. Если кто-либо из мастеров потерпит неудачу, раб будет повышен до мастерства.

Я бы хотел, чтобы рабы могли также выполнять некоторую часть чтения (это нормально, если чтение немного устарело).

Я видел, что спецификация кластера поддерживает флаг READONLY. Похоже, я могу использовать это, чтобы выполнить то, что я хочу. https://redis.io/commands/readonly

У меня вопрос: если у меня есть ведущий и ведомый, оба из которых могут выполнять операции чтения, как решается, какой узел (ведущий или ведомый) отвечает за выполнение операции чтения? это какой-то круговой подход? Это решать клиенту? Если это поможет, я использую ioredis в качестве моего клиента: https://github.com/luin/ioredis

1 Ответ

0 голосов
/ 27 июня 2018

Нашел ответ: это зависит от клиента, которого вы используете. В случае с Ioredis параметры описаны здесь:

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

...