HAProxy não deve encaminhar um pedido recebido para uma instância inativa

1

No meu cenário, tenho 2 servidores, ambos estão se comunicando com o HAProxy. Quando uma solicitação chega, o HAProxy divide a solicitação e a envia para os dois servidores, seguindo um método round robin. Se, em qualquer caso, minha primeira instância ficar inativa, o HAProxy deve saber que um dos servidores está inativo e não deve encaminhar nenhum pedido para esse servidor. Ele deve se comunicar apenas com o outro servidor para cada solicitação.

Alguém pode me dizer como eu posso configurar o meu HAProxy para o cenário acima, por favor?

    
por Nitesh B. 07.05.2013 / 13:47

1 resposta

1

Eu acredito que este tutorial é exatamente o que você está procurando. O tutorial é intitulado: Configurando um Balanceador de carga de alta disponibilidade (com suporte a failover e sessão) com HAProxy / Heartbeat no Debian Lenny .

Em geral, o arquivo /etc/haproxy.cfg será parecido com este:

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        user haproxy
        group haproxy

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn         2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen webfarm 192.168.0.99:80
       mode http
       stats enable
       stats auth someuser:somepassword
       balance roundrobin
       cookie JSESSIONID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 192.168.0.102:80 cookie A check
       server webB 192.168.0.103:80 cookie B check

Você precisará reconfigurar este arquivo e alterar o endereço IP do webfarm do frontend para o que for seu. Além disso, você precisará reposicionar as linhas do servidor para os endereços IP dos servidores de back-end internos.

    
por 07.05.2013 / 15:44