Como configurar proxy reverso / loadbalancer para roteamento personalizado

1

Suponha que eu tenha 3 servidores Web por trás de um proxy reverso / balanceador de carga. Atualmente eu uso o Apache 2, mas não me importo de mudar.

Esses servidores da Web não são iguais. Eles têm conjuntos diferentes de dados locais, o que significa que diferentes tipos de solicitações serão tratados de maneira mais eficiente em um servidor da Web específico.

Eu quero conectar alguma lógica de roteamento personalizada ao meu balanceador de carga, que no início de uma nova sessão selecionaria um servidor da Web para ele, depois amarraria essa sessão a esse nó até que ele quebrasse (sessão persistente).

Por exemplo: um novo usuário acessa o webapp, o balanceador de carga executa meu código personalizado de alguma forma, esse código descobre informações sobre esse usuário e conclui que esse usuário deve ser tratado no node1. O balanceador faz o proxies desse usuário para o node1 e o coloca nele. Quando outro usuário chega, a lógica de roteamento customizada sugere node3, para o qual o balanceador de carga então faz proxy desse usuário.

É possível fazer com o Apache 2? Se não, qual proxy / loadbalancer me daria essa habilidade?

Obrigado.

    
por artemb 13.10.2010 / 14:11

2 respostas

2

você pode considerar haproxy como uma opção. você pode usá-lo para implementar sessões fixas e fazer roteamento http L7 personalizado (cabeçalho, baseado em url)

    
por 13.10.2010 / 14:44
0

Se haproxy é complexo para você, tente libra .

    
por 13.10.2010 / 14:54