Apache mod_proxy_balancer + ajp_proxy

Seit apache-2.1 (bzw. stable: httpd-2.2) gibt es die Module proxy_balancer_module (mod_proxy_balancer) und proxy_ajp_module (mod_proxy_ajp).

Die Konfiguration ist im folgenden beschrieben.

httpd-conf

/etc/httpd/conf.d/proxy_ajp.conf

<Proxy balancer://tomcat5lb>
        BalancerMember ajp://tomcat1:8009 route=tomcat1
        BalancerMember ajp://tomcat2:8009 route=tomcat2
</Proxy> 
<Location /application/>
        ProxyPass balancer://tomcat5lb/application/ stickysession=JSESSIONID
</Location>
<Location /balancer-manager>
        SetHandler balancer-manager
        AuthType Basic
        AuthName "Cluster manager "
        AuthUserFile /etc/httpd/clustermanagerpasswd
        Require valid-user
</Location> 

Mit dem Argument balancer:// im <Proxy...>-Abschnitt wird ein virtueller worker tomcat5ln definiert. Dieser arbeitet als Loadbalancer. Die entsprechenden worker werden mit dem Keyword BalancerMember gesetzt. Der Typ eines workers wird als Protokoll angegeben (in diesem Fall ajp://). 1), gefolgt von Servername 2) und Port (in diesem Fall natürlich der AJP-Connector-Port) 3). Dahinter können wir dann verschieden Parameter angeben, z.B. route, mit dem wir die jvmRoute angeben die wir diesem worker in der server.xml von tomcat gegeben haben.

Über <Location...> wird definiert, wie der (bei mod_jk: JkMount) abgebildet wird. Hier wird alles, was auf /application/ passt, an den entsprechenden balancer weitergegeben.

Die Location balancer-manager ist für die Steuerung und Kontrolle des Balancers via Web-Interface definiert.

Balancer-Manager

Die Ausgabe sieht dann wie folgt aus...

  • Server Version: Apache/2.2.3 (Red Hat)
  • Server Built: XX YY ZZ
  • LoadBalancer Status for balancer://tomcat5lb
StickySession Timeout FailoverAttempts Method
jsessionid 0 1 byrequests

Worker URL Route RouteRedir Factor Status
ajp://192.168.200.101:8009 tomcat1 1 Ok
ajp://192.168.200.102:8009 tomcat2 1 Ok

Die Balancer Settings können über den “Balancer-Manager” via Web-Interface geändert werden.

Quellen

RPM Pakete für RHEL 4

... werden in Kürze bereitgestellt ... → http://rpms.serviert.de

1) Möglich sind noch http:// und ftp://
2) oder IP
3) kann abweichend von 8009 sein
 
wissen/gpl/apache/apache-2-2-proxy_ajp-loadbalancing-mod_proxy-loadbalancer.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de