Como balancear a carga com o ha-proxy sem cookies?

1

No momento, estou usando o HAProxy na frente de um grupo se os servidores de aplicativos do IIS .NET. Um problema imprevisto surgiu: Estou usando cookies para balanceamento de carga, isso obviamente não funciona para o navegador que recusa o uso de cookies (dadas as recentes mudanças nas leis de cookies no Reino Unido, não vamos abordar isso aqui de forma difícil).

Esta é a minha configuração atual do HAProxy:

listen backend-servers 127.0.0.1:80

cookie bs insert
balance roundrobin 
option persist
option redispatch
server appserver1 192.168.0.1:80 cookie bs1
server appserver2 192.168.0.2:80 cookie bs2

Eu não quero redesenhar o aplicativo, então gostaria de encontrar uma maneira de contornar isso no HAProxy.

Existem algumas opções como balanceamento usando IP de origem ou uma string na URL, mas você pode usar mais de um método em HAProxy? Você pode configurar um método de fallback ou um método alternativo como este?

Obrigado

    
por jwbensley 01.11.2012 / 18:16

3 respostas

1

Se o cookie não for salvo, então o haproxy despacha baseado apenas na sua balance palavra-chave, que é roundrobin .

    
por 01.11.2012 / 18:47
2

Citações diretas das diretrizes:

There is an exception to the requirement to provide information about cookies and obtain consent where the use of the cookie is:

(a) for the sole purpose of carrying out the transmission of a communication over an electronic communications network; or

(b) where such storage or access is strictly necessary for the provision of an information society service requested by the subscriber or user.

Se você está falando de um cookie para mantê-lo no servidor certo ... esse 100% se enquadra na categoria A. Se você usa o mesmo cookie para outras coisas ... então pare.

Para mais informações: link

    
por 01.11.2012 / 18:34
2

O balance source algoritmo é o que você está procurando; mudar de usar roundrobin .

The source IP address is hashed and divided by the total weight of the running servers to designate which server will receive the request. This ensures that the same client IP address will always reach the same server as long as no server goes down or up.

    
por 01.11.2012 / 18:46

Tags