TechDocs


   Rubrik > Software Entwicklung > Java >


    25.03.2010 20:43:45  Software Entwicklung > Java    

Tomcat Cluster mit Apache Load Balancer (mod_jk)

Der Apache HTTP Server wird aus folgenden Gründen oft einem oder mehreren Tomcat Servern vorgeschaltet.

  • statische Inhalte werden vom Apache HTTP Server schneller ausgeliefert
  • der Apache Webserver kann als Load Balancer die Http-Anfragen auf mehrere Tomcat Server verteilen

Auf der Seite des Apache Webserver muss das 'mod_jk'-Modul geladen werden. Dann können Anfragen über das AJP 1.3 Protokoll an ein oder mehrere Tomcat Server weitergeleitet werden.

Die Tomcat Server im Cluster hinter dem Apache Webserver müssen einen AJP 1.3 Connector Port bereitstellen. Das Apache Webserver 'mod_jk' Modul kennt die Port-Adressen der Tomcat Server aus einer zu definierenden 'worker.properties' Datei.

Tomcat Cluster mit mod_jk und dem Apache Webserver


Apache Konfiguration

Eine Konfigurationsdatei 'tomcat_jk.conf' wird angelegt und an die Datei $APACHE_HOME/conf/httpd.conf anhängt:

 Include /etc/apache2/tomcat_jk.conf

Diese Datei lädt das mod_jk Modul. Das neueste mod_jk Modul steht auf der Apache Tomcat Homepage zum Download bereit. Das mod_jk Modul im Verzeichnis '/usr/lib/apache2/mod_jk.so' abzulegen.
tomcat_jk.conf

In der 'worker.properties' Datei werden die Eigenschaften des Load Balancer und die parallel laufenden Tomcat Server festgelegt. Ort und Name der Datei wird in der 'tomcat_jk.conf' Apache Konfigurationsdatei festgelegt.
worker.properties


Tomcat Konfiguration

In den 'conf/server.xml' Dateien der Tomcat Server muss der Konnektor für das AJP 1.3 Protokoll aktiviert sein.
server.xml

Nach einem Neustart des Apache Server und der Tomcat Server ist der LoadBalancer aktiv. Hier ein Beispiel für den Neustart unter Linux.
 $ /etc/init.d/apache2 restart
 $ /etc/init.d/tomcat restart
Die Reihenfolge der Neustarts ist nicht bindend.

Verwandte Themen:
  Sticky Sessions im Tomcat Cluster konfigurieren
  Session Replikation im Tomcat Cluster
  Mehrere Tomcat Instanzen auf einem Server laufen lassen
  JkStatusManager - Apache Load Balancer Management



Übersicht