2009-05-14 6 views
4

Nous avons donc un cluster de serveurs backend 2+ (qui seront des serveurs JBoss) qui sont équilibrés par un Apache 2.2. De temps en temps, il peut arriver que les serveurs dorsaux ne répondent plus (ce qui signifie qu'ils attendront longtemps pour répondre à une demande, mais ne fermez pas la connexion immédiatement). Cela se terminera naturellement par une erreur "Bad gateway" 502. Ma compréhension d'un équilibreur de charge, c'est qu'il doit basculer et rediriger les demandes vers les instances restantes. J'ai vu qu'un nœud de l'équilibreur pouvait passer en état d'erreur, mais qu'il n'était jamais capable de l'envoyer complètement dans cet état (c'est-à-dire après que le premier 502 a été rencontré). Ai-je raté quelque chose ou est-ce juste une fonctionnalité que je souhaite? Oh, et va ici ma config:mod_proxy time-outs (502) et les failovers

<Proxy balancer://s> 
    Order deny,allow 
    Allow from all 

    BalancerMember http://host1:8080/ route=h1 timeout=20 retry=40 
    BalancerMember http://host2:8080/ route=h2 timeout=20 retry=40 
</Proxy> 

# Distribute by Round Robin, use Sticky Sessions 
ProxyPass/balancer://s/ stickysession=JSESSIONID lbmethod=byrequests nofailover=On 
ProxyPassReverse/http://host1:8080/ 
ProxyPassReverse/http://host2:8080/ 

Best, Sebastian

Répondre

4

Vous avez spécifié NOFAILOVER = Sur ce qui signifie qu'il ne sera pas basculer, d'où les 502 erreurs. Si vous voulez le basculer, il doit être nofailover = Off ce qui signifie qu'il devrait basculer.

Questions connexes