TechDocs


   Rubrik > Servlet Container > Tomcat >


    25.03.2010 20:43:31  Servlet Container > Tomcat    

Sticky session's - Tomcat mit Apache mod_jk load balancer


Was ist eine Sticky Session ?
Eine von einem Tomcat Server erzeugte Session, welche in allen weiteren Client Anfragen vom Load Balancer an diesen Server weitergeleitet wird. Die Session Informationen verbleiben somit auf dem erzeugenden Tomcat Server und dieTomcat Worker Instanzen im Cluster müssen die Session Informationen nicht untereinander austauschen/replizieren.

Mit Sticky Sessions allein läßt sich Hochverfügbarkeit nicht herstellen, da beim Ausfall eines Tomcat Server auch die SessionInformationen dieses Server verloren gehen.

Für ein High-Availability-Cluster ist zusätzlich noch Session Replikation im Tomcat Cluster zu konfigurieren.

Wenn ein Server Ausfall nicht allzu oft vorkommt und der Verlust von Session Informationen dabei akzeptabel ist, kann man diese Cluster Lösung wählen.

Verwandte Themen:
  Tomcat Cluster mit Apache Load Balancer (mod_jk)
  Session Replikation im Tomcat Cluster
  Mehrere Tomcat Instanzen auf einem Server laufen lassen
  JkStatusManager - Apache Load Balancer Management


Installation

Sticky Session Diagramm

In einer '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.
Siehe auch: Tomcat Cluster mit Apache als Load Balancer konfigurieren

worker.properties Einstellungen

Sticky sessions sind nach mod_jk Dokumentation per default eingeschaltet. Die 'sticky_session' Option kann eingefügt werden.

conf/server.xml Einstellungen

Den AJP 1.3 Connector der Tomcat Worker im Cluster aktivieren:

Bei mehreren Tomcat Instanzen auf einem Server müssen die Port's verschieden sein.

Server1: conf/server.xml das jvmRoute Attribut der Engine hinzufügen und auf 'worker1' setzen:

Server2: conf/server.xml das jvmRoute Attribut der Engine hinzufügen und auf 'worker2' setzen

Der jvmRoute Wert muss dem Namen des zugehörigen Workers in der worker.properties Datei entsprechen. So kann das Apache Modul mod_jk die Session bezogenen Anfragen an die richtige Tomcat Instanz/Worker weiterleiten.

Weitere Links zu dem Thema:
  Tomcat Cluster mit Apache Load Balancer (mod_jk)
  Session Replikation im Tomcat Cluster
  Mehrere Tomcat Instanzen auf einem Server laufen lassen
  JkStatusManager - Apache Load Balancer Management



Übersicht