Supporto per Redis Sentinel

Ciao,

Ho notato che hai rimosso le opzioni sentinel alcuni anni fa.

C’è un motivo specifico per questo?

Se facessi una PR, la accetteresti?

Se no, allora userò un monkey patch; se hai qualche consiglio su come farlo, è da un po’ che non scrivo Ruby :wink:

Grazie!

Penso che questo non abbia mai funzionato.

Basta separare la gestione di HA Redis da Discourse e utilizzare HAProxy per indirizzare il traffico al master o allo slave.

Configurazione di esempio (master su 6379, slave su 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

Il codice rimosso era considerato sperimentale e non abbiamo intenzione di supportarlo nel prossimo futuro.

Sembra di no, ma non era davvero chiaro :slight_smile:

(Ma grazie per i chiarimenti finora :slight_smile: )

Scusa, sì, penso che un plugin sia un’opzione migliore in questo caso. Sentinel non ha mai funzionato bene per noi, quindi preferiremmo non includerlo come opzione per la comunità nel prodotto principale.