Usando o mod_proxy_loadbalancer do apache com o JBoss

1

Estamos usando o mod_proxy_loadbalancer do Apache com 4 back-end do JBoss, aqui está a configuração no servidor de back-end:

<Proxy balancer://www>
   Allow from all                                    
  BalancerMember x.11:8080/APP  route=node11 timeout=600 ttl=7200
   BalancerMember x.12:8080/APP route=node12 timeout=600 ttl=7200
   BalancerMember x.12:8081/APP route=node122 timeout=600 ttl=7200
   BalancerMember x.14:8080/APP route=node14 timeout=600 ttl=7200
   ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On 
</Proxy>    
ProxyPass /APP balancer://www/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse /APP balancer://www/

Nosso problema é que as solicitações não são balanceadoras, a maioria delas vai para "node12", aqui está o status do gerenciador de balanceamento:

LoadBalancer Status for balancer://www
StickySession   Timeout FailoverAttempts    Method
JSESSIONID|jsessionid   0   3   byrequests

Worker URL  Route   RouteRedir  Factor  Set Status  Elected To  From
x.11:8080/APP    node11 1   0   Ok  6500    8.3M    33M
x.12:8080/APP   node12  1   0   Ok  5690    38M 8.2M
x.12:8081/APP   node122 1   0   Ok  6886    8.8M    35M
x.14:8080/APP   node14  1   0   Ok  6272    7.5M    35M

Isso significa que o balanceador de carga não funciona quando usamos o StickySessions? Como podemos garantir que cada servidor tenha as mesmas solicitações?

BTW: por favor, substitua x por 192.168.1 já que serverfault não permite adicionar vários links. Obrigado,

Tang

    
por hntangwei 01.11.2011 / 07:48

1 resposta

1

Se você estiver balanceando a carga com base em solicitações, mas persistindo com base no sessionid, não verá estatísticas de balanceamento de carga uniformemente distribuídas. Cada sessão de usuário contém uma quantidade variável de solicitações (alguns usuários podem ter apenas 3 ou 4 páginas no site, alguns podem ter percorrido 15 páginas, alguns perfis de usuários têm mais dados do que outros, etc.).

Dito isto, olhando para a sua saída de estatísticas lb (e assumindo que os valores para o node12 estão invertidos), seus pedidos do parecem razoavelmente equilibrados, considerando que a persistência está ativa.

    
por 01.11.2011 / 14:17