Таким образом, мы должны использовать Netscaler для балансировки нагрузки на сервере redis, где есть главные экземпляры, а остальные являются подчиненными экземплярами только для чтения. Мы используем Redis-Sentinel для выбора мастера.
Я только хочу, чтобы Netscaler указывал на основные экземпляры, чтобы приложение всегда обращалось к экземпляру, в который оно может записать.
Я написал Perl-скрипт Пользовательский монитор для взаимодействия с redis-sentinel, чтобы показать, кто является хозяином. Он отлично работает с аварийным переключением, и Netscaler будет правильно указывать на нового мастера. Но для ведомого, скрипт возвращает ошибку, поэтому Netscaler знает, что не следует использовать этот сервер для балансировки нагрузки. Таким образом, ведомый будет регистрировать ошибку каждые x секунд.
Есть ли лучший способ делать то, что я хочу, только с Netscaler?
Не спрашивайте, почему бы просто не указать приложению пункт redis-sentinel.