HAProxy para Redis Sentinel: deseja BACKUP, não DOWN

1

Configurei um serviço HAProxy para minha instalação do Redis Cluster (3 nós com Redis Sentinel gerenciando a delegação master) e funciona bem: os clientes são redirecionados apenas para o nó mestre e sempre que um nó escravo se torna master, o HAProxy repentinamente muda o ativo membro no backend.

Apenas querendo ser meticuloso, os nós escravos são mostrados como "DOWN" (cor vermelha) no Relatório de Estatísticas HAProxy (Tempo limite da camada 7: na etapa 5 do tcp-check string 'role: master')) . Existe uma maneira de mostrá-los como "backup UP" (cor azul) , que é a definição correta?

Isso porque os nós vermelhos parecem ser um problema, mas isso não é verdade, já que os membros escravos são UP, mas eles são apenas escravos, então eles não estão ativos. Acho que esta é a definição correta do estado "backup UP" no HAProxy.

Esta é a configuração do 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 

Você tem alguma ideia sobre como é possível fazer o que eu quero?

Obrigado!

    
por Mat 01.11.2017 / 23:01

1 resposta

1

É possível, mas como você tem mais de dois nós, NÃO VAI CORRIGIR CORRECTAMENTE . Mas desde que você perguntou:

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

O estado haproxy BACKUP significa simplesmente que o servidor não será considerado para balanceamento de carga, desde que qualquer servidor normal seja UP . Sua configuração atual é melhor, eu acho.

    
por 07.05.2018 / 23:12