Eu sei que, com servidores carregados, a roundrobin no HAproxy (1.4.4) não distribui uniformemente, mas meus servidores estão atualmente recebendo NO-traffic (configuração de teste) e o balanceamento de roundrobin não
www1, www1, www1, www1, www1, ... www2, www2, www2, ..., www1 ...
Estou verificando isso com o script sendo executado em cada servidor cat / etc / HOSTNAME (slackware). Eu preciso que ele alterne cada vez para testar algumas coisas da sessão (armazenadas no memcached compartilhado), mas estou com problemas para fazer com que ele alterne entre meus dois servidores da web em cada solicitação.
global
log 127.0.0.1 local0 warning
maxconn 4096
chroot /usr/share/haproxy
pidfile /var/run/haproxy.pid
uid 99
gid 99
daemon
defaults
balance roundrobin
fullconn 100
maxconn 4096
mode http
option dontlognull
option http-server-close
option forwardfor
option redispatch
retries 3
timeout connect 5000
timeout client 20000
timeout server 60000
timeout queue 60000
stats enable
stats uri /haproxy
stats auth ***:***
frontend www *:80
log global
acl is_upload hdr_dom(host) -i uploads.site.com
acl is_api hdr_dom(host) -i api.site.com
acl is_dev hdr_dom(host) -i dev.site.com
use_backend uploads.site.com if is_upload
use_backend api.site.com if is_api
use_backend dev.site.com if is_dev
default_backend site.com
backend site.com
option httpchk HEAD /alive.php HTTP/1.1\r\nHost:site.com
server www1 1.1.1.1:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
server www2 1.1.1.2:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
backend api.site.com
option httpchk HEAD /alive.php HTTP/1.1\r\nHost:api.site.com
server www1 1.1.1.1:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
server www2 1.1.1.2:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
backend dev.site.com
option httpchk HEAD /alive.php HTTP/1.1\r\nHost:dev.site.com
server www1 1.1.1.1:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
server www2 1.1.1.2:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
backend uploads.site.com
option httpchk HEAD /alive.php HTTP/1.1\r\nHost:uploads.site.com
server www1 1.1.1.1:8080 weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
server www2 1.1.1.2:8080 backup weight 10 minconn 5 maxconn 25 check inter 2000 rise 2 fall 2
Então, basicamente, eu tenho alguns back-ends diferentes (verifiquei que as ACLs estão funcionando), com a opção padrão "roundrobin" selecionada. Eu tentei remover pesos, removendo os atributos minconn / maxconn / fullconn para todos os servidores (não apenas o backend que estou testando), tentei remover as ACLs, etc. Eu testei no dev.site.com BTW. / p>
Alguém vê uma razão pela qual eu não posso conseguir algo como www1, www2, www1, www2, ...? Além disso, esta é uma das minhas primeiras perguntas aqui, então, por favor, deixe-me saber se eu deixei qualquer coisa necessária fora do meu post.
Obrigado!