Что-то, чего я не понимаю в Redis в K8s - PullRequest
1 голос
/ 28 июня 2019

Я установил redis в GKE, используя таблицу рулевого управления.

Создано 3 службы redis-master, redis-slave и redis-headless.Когда я подключаюсь к нему через «redis-headless», я получаю сообщение об ошибке (примерно в 66% случаев):

READONLY You can't write against a read only replica.

Я предполагаю, что это потому, что он маршрутизируется к двум экземплярам подчиненного устройства.Если я использую мастер, то, кажется, работает.

Я предполагаю, что я должен использовать только redis-master для подключения?Будет ли он когда-нибудь использовать раба?Обновится ли он, если мастер выйдет из строя?Должен ли я когда-нибудь маршрутизировать к подчиненному (для запросов на чтение)?

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

Спасибо

1 Ответ

0 голосов
/ 30 июня 2019

Предположим, вы ссылаетесь на график stable/redis.

Подробнее можно узнать, запустив: kubectl describe service <service_name>.Проверьте поля Selector и Endpoints.Служба redis-headless выбирает все модули Redis, в то время как redis-master выбирает только главный модуль Redis, который помечен role:master.

По умолчанию операции записи могут обрабатываться только мастером, но вы можете прочитатьданные из реплик.Реплики Redis в основном используются для:

  1. Повышение пропускной способности.Вы можете отправлять команды чтения в реплики, если мастер уже занят операциями записи.Обратите внимание, что по умолчанию репликация выполняется асинхронно, поэтому строгая согласованность не гарантируется.

  2. Высокая доступность.Используя Redis Sentinel , реплика может быть назначена новым мастером, если старый мастер считается нездоровым.Это также предотвратит появление сбойного мастера с пустыми данными, если постоянство Redis не включено.

Для диаграммы stable/redis вы можете настроить sentinel.enabledвключить Redis Sentinel и автоматический переход на другой ресурс.Также есть график stable/redis-ha.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...