Soporte para Redis Sentinel

Hola,

Noté que eliminaste las opciones de sentinel hace algunos años.

¿Hay alguna razón específica para ello?

Si hago un PR, ¿lo aceptarás?

Si no, entonces haré un parche de mono. Si tienes alguna recomendación para hacerlo, ha pasado un tiempo desde que no programo en Ruby :wink:

¡Gracias!

Creo que esto nunca funcionó.

Simplemente separa la gestión de Redis de alta disponibilidad fuera de Discourse y utiliza HAProxy para dirigir al maestro o al esclavo.

Configuración de ejemplo (maestro en 6379, esclavo en 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

El código que se eliminó se consideraba experimental y no tenemos planes de apoyarlo en el futuro cercano.

Parece que la respuesta es no, pero no estaba muy claro :slight_smile:

(Pero gracias por las perspectivas hasta ahora :slight_smile: )

Lo siento, sí, creo que un complemento es una mejor opción aquí. Sentinel nunca funcionó bien para nosotros, por lo que preferiríamos no tenerlo como una opción para la comunidad en el producto principal.