2009-05-14 7 views
4

Wir betreiben also einen Cluster von 2+ Backend-Servern (die JBoss-Server sind), die von einem Apache 2.2 geladen werden. Von Zeit zu Zeit kann es vorkommen, dass die Back-End-Server nicht mehr reagieren (dh sie warten eine Antwort, bis sie auf eine Anfrage antworten, aber die Verbindung nicht sofort schließen). Dies wird natürlich in einem Fehler 502 "Bad Gateway" enden. Mein Verständnis eines Load-Balancers ist, dass es Fail-Over und Umleitung Anforderungen an die verbleibenden Instanzen sollte.mod_proxy time-outs (502) und Failovers

Ich habe gesehen, dass ein Knoten des Balancers in den Fehlerzustand gehen kann, aber nie in der Lage war, einen vollständig in diesen Zustand zu senden (d. H., Nachdem der erste 502 gefunden wurde). Fehle ich etwas oder ist das nur ein Feature, das ich mir wünsche? Oh, und hier geht meine config:

<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

Antwort

4

Sie NOFAILOVER angegeben = Auf welchen Mitteln wird es nicht Failover, also die 502 Fehler. Wenn Sie einen Failover wünschen, muss nofailover = Off sein, was bedeutet, dass ein Failover durchgeführt werden sollte.