Como evitar que o HAProxy distribua carga usando o algoritmo roundrobin de forma ineficaz?

1

Estamos executando servidores da web atrás de um balanceador de carga EC2 e, por sua vez, esses servidores executam o HAProxy e distribuem a carga entre os servidores de trabalho.

Assumindo pesos de servidor iguais, parece que o cenário a seguir seria executado se o EC2 usar efetivamente um algoritmo de balanceamento de carga de roundrobin:

Server 1 handles request, sends to backend 1
Server 2 handles request, sends to backend 1
Server 3 handles request, sends to backend 1

Server 1 handles request, sends to backend 2
Server 2 handles request, sends to backend 2
Server 3 handles request, sends to backend 2

Server 1 handles request, sends to backend 3
Server 2 handles request, sends to backend 3
Server 3 handles request, sends to backend 3
...

Se a duração da sessão for aproximadamente a mesma, a carga não será balanceada corretamente. Assumindo pesos iguais, o HAProxy escolhe um primeiro servidor aleatório em seu algoritmo de roundrobin?

    
por ty01 02.11.2011 / 21:48

1 resposta

1

Na minha experiência, o haproxy sempre começa do primeiro servidor (não aleatório). Se o que você está descrevendo realmente acontecer, basta girar a lista de servidores em 1 entrada em cada balanceador.

    
por 27.12.2011 / 20:47