Статический мастер в репликации Redis

Я запускаю реплицированный Redis, который включает в себя мастера и только одного раба. Моя цель - реализовать репликацию (с использованием Redis Sentinels), в которой ведомое устройство становится главным, когда мастер отключается, но дополнительно старый мастер переводится обратно, когда восстанавливается.

Начальная настройка проста. Я использую один страж на том же сервере, что и ведущий, и два стража на сервере с ведомым. При наличии кворума два, два стража на подчиненном сервере переводят подчиненное устройство в мастер, когда мастер недоступен. Когда старый хозяин возвращается, он повторно соединяется со старым рабом (который был назначен мастером) и становится его рабом.

После этого дела как обычно. За исключением того, что я хотел бы продвинуть раба (старого мастера), чтобы освоить, как это было в оригинальной компоновке. Это можно сделать вручную с помощью redis-cli (и, следовательно, с помощью cron, я думаю), но есть ли какие-либо способы сделать это с помощью конфигурации часового или каким-либо другим способом, кроме грубого cronjob? Мое намерение состоит в том, чтобы в основном иметь статический мастер, который поддерживается ведомым, который возвращает статус мастера, как только оригинальный мастер снова становится доступным.

2 ответа

Решение

В настоящее время нет никакого механизма возврата к предполагаемому мастеру. slave-priority может повлиять на то, что выбирает ведомое устройство, когда мастер не работает, но не заставит дозорных инициировать восстановление после сбоя, когда текущий мастер исправен. Чтобы сделать это автоматически, вам нужно реализовать это вне часового.

Для автоматической обработки основных выборов вы можете попробовать следующие решения:

Другие вопросы по тегам