Altere o backend ao atingir maxconn HAProxy

1

Acabei de começar a usar o HAProxy e estou criando um aplicativo de bate-papo em tempo real. Gostaria de saber se é possível enviar clientes para outro back-end quando o back-end atual atinge seu maxconn (estou usando "balance source"). Porque, às vezes, quando um back-end atinge seu limite, todas as conexões para esse back-end são enfileiradas e o navegador continua carregando, enquanto outros back-ends estão livres.

    
por laoshanlung 10.07.2012 / 17:21

2 respostas

0

Eu não sei, mas tente isso na configuração backend (adapte 10 com o seu maxconn):

acl too_many be_sess_rate gt 10
use_backend b_too_many if too_many be_sess_rate
    
por 10.07.2012 / 17:59
0

Tente isso, ele usará outro backend se a conexão atual no frontend for maior que 20, mude o número (linha no 4) para atender às suas necessidades, também eu escrevo o modo tcp, você pode alterá-lo para http se você precisar de saldo de carga http

frontend frontend_chat 127.0.0.1:8080
    mode tcp
    balance roundrobin
    acl max_conn_reached fe_conn gt 20
    default_backend be_chat1
    use_backend be_chat1_and_chat2 if max_conn_reached

backend be_chat1
    mode tcp
    balance roundrobin
    server chat1 127.0.0.1:9001 check maxconn 10

backend be_chat1_and_chat2
    mode tcp
    balance roundrobin
    server chat1 127.0.0.1:9001 check maxconn 10
    server chat2 127.0.0.1:9002 check maxconn 10
    
por 27.07.2012 / 19:21

Tags