Redis failover con StackExchange / Sentinel de C #

Actualmente estamos utilizando Redis 2.8.4 y StackExchange.Redis (y nos encanta), pero por el momento no tenemos ningún tipo de protección contra fallas de hardware, etc. Estoy tratando de hacer que la solución funcione mediante la cual tenemos monitoreo de maestros / esclavos y centinela, pero no puedo llegar allí y no puedo encontrar ningún puntero real después de buscar.

Así que actualmente hemos llegado hasta aquí:

Tenemos 3 servidores redis y centinela en cada nodo (configurado por los chicos de Linux): devredis01: 6383 (maestro) devredis02: 6383 (esclavo) devredis03: 6383 (esclavo) devredis01: 26379 (centinela) devredis02: 26379 (centinela) devredis03: 26379 (centinela)

Puedo conectar el cliente StackExchange a los servidores de redis y escribir / leer y verificar que los datos se estén replicando en todas las instancias de redis utilizando Redis Desktop Manager.

También puedo conectarme a los servicios centinela utilizando un ConnectionMultiplexer diferente, consultar la configuración, solicitar el nodo maestro redis, solicitar esclavos, etc.

También podemos matar el nodo maestro redis y verificar que uno de los esclavos sea promovido a maestro y que la replicación al otro esclavo continúe funcionando. Podemos observar la conexión redis tratando de reconectarse con el maestro, y también si vuelvo a crear el ConnectionMultiplexer, puedo escribir / leer nuevamente al maestro recién ascendido y leer desde el esclavo.

¡Hasta aquí todo bien!

Lo que me falta es cómo reunirlo todo en un sistema de producción.

¿Debería obtener los puntos finales de redis de centinela y usar 2 ConnectionMultiplexers? ¿Qué debo hacer exactamente para detectar que un nodo se ha caído? ¿Puede StackExchange hacer esto por mí automáticamente o pasa un evento para que pueda volver a conectar mi redis ConnectionMultiplexer? ¿Debo manejar el evento ConnectionFailed y luego volver a conectar para que ConnectionMuliplexer descubra cuál es el nuevo maestro? Presumiblemente, mientras estoy reconectando, ¿se perderán los intentos de escribir?

Espero que no me pierda algo muy obvio aquí, solo estoy luchando por ponerlo todo junto.

¡Gracias por adelantado!

Respuestas a la pregunta(3)

Su respuesta a la pregunta