Suporte para Redis Sentinel

Olá,

Notei que você removeu as opções de sentinel há alguns anos.

Há algum motivo específico para isso?

Se eu fizer um PR, vocês aceitarão?

Se não, farei um monkey patch. Se tiverem algumas recomendações sobre como fazer isso, ótimo, já faz um tempo que não uso Ruby :wink:

Obrigado!

Acho que isso nunca funcionou.

Basta separar a preocupação do HA Redis do Discourse e usar o HAProxy para direcionar ao master ou slave.

Configuração de exemplo (master na porta 6379, slave na porta 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

O código que foi removido era considerado experimental e não temos planos de apoiá-lo no futuro próximo.

Parece que não, mas não ficou muito claro :slight_smile:

(Mas obrigado pelas informações até agora :slight_smile: )

Desculpe, sim, acho que um plugin é uma opção melhor aqui. O Sentinel nunca funcionou muito bem para nós, então preferimos não incluí-lo como uma opção para a comunidade no produto principal.