Como o balanceamento de carga HAProxy encaminha a solicitação?

1

Estou tentando entender como o balanceamento de carga no HAProxy funciona para que eu possa fazer algum planejamento de capacidade. Então, qual é o caminho certo o balanceamento de carga HAProxy funciona?

Cenário A: Solicitação do Cliente foi enviada para o HAProxy, a Haproxy encaminhou a solicitação para o servidor disponível, que neste cenário Webserver1. O webserver1 responde à solicitação e retorna a página solicitada diretamente ao navegador do cliente.

Cenário B: Solicitação do Cliente foi enviada para o HAProxy, a Haproxy encaminhou a solicitação para o servidor disponível, que neste cenário Webserver2. Webserver2 responde ao pedido enviando a página de volta para o HAProxy e o HAProxy passa o pedido de volta ao navegador do cliente.

Além disso, essa configuração funciona? O NIC voltado para a Internet no HAPRoxy está usando o IP público em que o NIC interno para o HAProxy usa IP privado e o servidor web1 e o servidor2 também. Ambos usam IP privado.

Última pergunta. Que tipo de cenário de balanceamento de carga o HAProxy oferece suporte diferente de Round Robin? O que estou tentando realizar é, quando o cliente está conectado pela primeira vez ao webserver1, gostaria de manter essa conexão para esse cliente até que a sessão seja expirada ou finalizada. Alguma sugestão sobre como conseguir isso?

Por favor avise?

Muito obrigado por todos os seus conselhos.

    
por Le Dude 09.12.2013 / 05:09

1 resposta

3

Cenário B. O HAProxy cria uma conexão TCP com o back-end para enviar a solicitação do cliente, o back-end responde ao HAProxy e, em seguida, o HAProxy envia a solicitação ao cliente. O cliente nunca tem uma conexão TCP com o backend, então não há comunicação direta entre eles.

Also, can this setting works? Internet facing NIC in HAPRoxy is using the public IP where the internal facing NIC for HAProxy use private IP and so does the webserver1 and webserver2. They both use private IP.

Sim, isso pode funcionar.

What kind of load balancing scenario does HAProxy support other than Round Robin? What I'm trying to accomplish is, when client is connected the first time to webserver1, I'd like to keep that connection for that client until the session is expired or terminated. Any suggestion on how to accomplish that?

O que você está procurando é chamado de "sticky sessions", veja esta questão como exemplo.

    
por 09.12.2013 / 08:59