Redis аварийного переключения с StackExchange / Sentinel из C #

В настоящее время мы используем Redis 2.8.4 и StackExchange.Redis (и нам это нравится), но на данный момент у нас нет какой-либо защиты от сбоев оборудования и т. Д. Я пытаюсь заставить работать решение, при котором у нас есть ведущий / ведомый и дозорный мониторинг, но я не могу добраться до него, и я не могу найти никаких реальных указателей после поиска.

Итак, в настоящее время мы получили это далеко:

У нас есть 3 сервера Redis и страж на каждом узле (настройка парней из Linux): devredis01: 6383 (ведущий) devredis02: 6383 (ведомый) devredis03: 6383 (ведомый) devredis01: 26379 (страж) devredis02: 26379 (страж) devredis03: 26379 (стражник)

Я могу подключить клиент StackExchange к серверам redis, записать / прочитать и проверить, что данные реплицируются во все экземпляры redis с помощью Redis Desktop Manager.

Я также могу подключиться к дозорным службам с помощью другого ConnectionMultiplexer, запросить конфигурацию, запросить главный узел redis, запросить ведомые устройства и т. Д.

Мы также можем уничтожить главный узел Redis и убедиться, что один из ведомых устройств переведен в ведущий, а репликация на другое ведомое устройство продолжает работать. Мы можем наблюдать соединение redis, пытающееся переподключиться к мастеру, а также, если я воссоздаю ConnectionMultiplexer, я могу снова записать / прочитать на недавно назначенный мастер и прочитать с подчиненного устройства.

Все идет нормально!

Я скучаю по тому, как вы сводите все это вместе в производственной системе?

Должен ли я получать конечные точки redis от часового и использовать 2 ConnectionMultiplexers? Что именно я должен сделать, чтобы обнаружить, что узел вышел из строя? Может ли StackExchange сделать это для меня автоматически или он пропустил событие, чтобы я мог повторно подключить свой redis ConnectionMultiplexer? Должен ли я обработать событие ConnectionFailed, а затем повторно подключиться, чтобы ConnectionMuliplexer узнал, что такое новый мастер? Предположительно, при повторном подключении все попытки записи будут потеряны?

Я надеюсь, что я не пропускаю что-то очень очевидное здесь, я просто изо всех сил пытаюсь собрать все это вместе.

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос