back-end loadbalanced HAProxy - comportamento quando um servidor está inativo

1

Meu entendimento era que, com dois back-ends de servidor com balanceamento de carga por HAProxy, se um deles fosse desativado, o HAProxy deveria ser capaz de direcionar todo o tráfego para o outro.

Eu tenho dois servidores web com balanceamento de carga, com roundrobin e httpchk, mas quando um desce, recebo 503 - Service unavailable messages do HAProxy. Talvez haja algo errado com minha configuração?

backend app
    timeout server 50000ms
    mode http
    balance roundrobin
    option httpchk

    server ap1 ap1:8000 maxconn 4000 #ap1 is hostname
    server ap2 ap2:8000 maxconn 4000 #ap2 is hostname
    
por UpTheCreek 14.05.2013 / 11:25

1 resposta

3

Talvez ajude se você adicionar um URL explícito ao seu httpchk - por padrão, ele usa uma OPTION http em /. Além disso, você precisa adicionar a palavra-chave "check" às suas definições de host (seção link 3.1 )

backend app
    timeout server 50000ms
    mode http
    balance roundrobin
    option httpchk HEAD /some/valid/url

    server ap1 ap1:8000 maxconn 4000 check #ap1 is hostname
    server ap2 ap2:8000 maxconn 4000 check #ap2 is hostname
    
por 14.05.2013 / 11:35