Назад | Перейти на главную страницу

HAProxy для Redis Sentinel: нужно РЕЗЕРВНОЕ КОПИРОВАНИЕ, а не ВНИЗ

Я настроил службу HAProxy для своей установки Redis Cluster (3 узла с Redis Sentinel, управляющими главным делегированием), и она работает хорошо: клиенты перенаправляются только на главный узел, и всякий раз, когда подчиненный узел становится главным, HAProxy внезапно меняет активного члена на бэкэнд.

Просто желая быть дотошным, подчиненные узлы показаны как «ВНИЗ» (красный цвет) в статистический отчет HAProxy (Тайм-аут Layer7: на шаге 5 tcp-check (ожидайте строку 'role: master')). Есть ли способ показать их как «Backup UP» (синий цвет), какое определение правильное?

Это потому, что красные узлы кажутся проблемой, но это неверно, поскольку подчиненные элементы работают, но они просто подчиненные, поэтому они не активны. Я думаю, что это правильное определение состояния «резервное копирование UP» в HAProxy.

Это конфигурация HAProxy:

frontend Redis
    bind            192.168.70.90:6379 name 192.168.70.90:6379   
    mode            tcp
    log         global
    timeout client      30000
    default_backend     Redis_tcp_ipvANY

backend Redis_tcp_ipvANY
    mode            tcp
    timeout connect     30000
    timeout server      30000
    retries         3
    option tcp-check
    tcp-check connect
    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          redis1 192.168.70.91:6379 check inter 1000  maxconn 1024 
    server          redis2 192.168.70.92:6379 check inter 1000  maxconn 1024 
    server          redis3 192.168.70.93:6379 check inter 1000  maxconn 1024 

Ты хоть представляешь, как можно делать то, что я хочу?

Спасибо!

Это возможно, но поскольку у вас более двух узлов, НЕ ПРАВИЛЬНО. Но раз уж вы спросили:

backend Redis_tcp_ipvANY
    mode            tcp
    timeout connect     30000
    timeout server      30000
    retries         3
    option tcp-check
    tcp-check connect
    tcp-check send PING\r\n
    tcp-check expect string +PONG
    tcp-check send QUIT\r\n
    tcp-check expect string +OK
    server          redis1 192.168.70.91:6379        inter 1000  maxconn 1024 check
    server          redis2 192.168.70.92:6379 backup inter 1000  maxconn 1024 check
    server          redis3 192.168.70.93:6379 backup inter 1000  maxconn 1024 check

Хапрокси BACKUP состояние просто означает, что сервер не будет рассматриваться для балансировки нагрузки, пока любой нормальный сервер UP. Думаю, ваша нынешняя установка лучше.