Поддержка Redis Sentinel

Привет,

Я заметил, что вы несколько лет назад удалили опции sentinel (ссылка на коммит).

Есть ли для этого какая-то конкретная причина?

Если я сделаю PR, примете ли вы его?

Если нет, то я применю monkey patch. Если у вас есть какие-то рекомендации по этому поводу, буду рад, так как я давно не писал на Ruby :wink:

Спасибо!

Я думаю, что это никогда не работало.

Просто вынесите задачу обеспечения высокой доступности (HA) Redis за пределы Discourse и используйте HAProxy для перенаправления трафика на мастер- или реплика-сервер.

Пример конфигурации (мастер на порту 6379, реплика на порту 6380):

listen redis_master
  bind 127.0.0.1:6379
  timeout client 30h
  timeout server 30h
  option tcp-check
  tcp-check connect
  tcp-check send AUTH\ *redis_password*\r\n
  tcp-check expect string +OK
  tcp-check send PING\r\n
  tcp-check expect string +PONG
  tcp-check send info\ replication\r\n
  tcp-check expect string role:master
  tcp-check send QUIT\r\n
  tcp-check expect string +OK
  server redis_data_0 10.10.10.10:6379 check inter 1s
  server redis_data_1 10.10.10.11:6379 check inter 1s

listen redis_slave
  bind 127.0.0.1:6380
  timeout client 30h
  timeout server 30h
  option tcp-check
  tcp-check connect
  tcp-check send AUTH\ *redis_password*\r\n
  tcp-check expect string +OK
  tcp-check send PING\r\n
  tcp-check expect string +PONG
  tcp-check send info\ replication\r\n
  tcp-check expect string role:slave
  tcp-check send QUIT\r\n
  tcp-check expect string +OK
  server redis_data_0 10.10.10.10:6379 check inter 1s
  server redis_data_1 10.10.10.11:6379 check inter 1s

Удалённый код считался экспериментальным, и у нас нет планов поддерживать его в ближайшем будущем.

Кажется, что нет, но это было не совсем ясно :slight_smile:

(Но спасибо за прояснение на данный момент :slight_smile: )

Извините, да, я думаю, что плагин — более подходящий вариант здесь. Sentinel никогда не работал у нас хорошо, поэтому мы предпочли бы не включать его как опцию для сообщества в основном продукте.