Tomcat Load Balancer-Lösungen

8

Ich bin auf der Suche nach einem guten Load Balancer für Tomcat. Unsere Anwendung speichert nichts im Sitzungskontext, so dass es nicht wichtig ist, für denselben Benutzer auf denselben Server umzuleiten. Ich möchte einfach etwas, das Anfragen im Round-Robin-Stil oder basierend auf der individuellen Auslastung jedes Servers anordnen kann. Ich wäre auch gerne in der Lage, Anwendungsserver hinzuzufügen, die verfügbar sind, um Anfragen zu bearbeiten, ohne den Load Balancer neu starten zu müssen. Wir führen die Anwendung unter Linux aus, wenn das wichtig ist.

    
Sotirios Delimanolis 10.03.2012, 19:01
quelle

1 Antwort

6

Wenn Sie nur einen Software Load Balancer benötigen, verwenden Sie Apache Webserver2, Mod-Jk und Tomcat Clustering:

Auf Ihrem Webserver:

1) Installieren Sie apache2 und modjk:

%Vor%

2) Erstellen Sie eine Datei "workers.properties", die für Ihren apache2 verfügbar ist. In einigen Fällen wird es automatisch in Ihrem Verzeichnis / etc / apache2 erstellt. Diese Datei enthält die Konfigurations-, Knotennamen, ips und Ports Ihrer Tomcat-Server, d. H .:

%Vor%

3) Erstellen Sie einen Mod-Jk-Abschnitt in Ihrer apache2-Konfigurationsdatei, falls er nicht automatisch erstellt wurde.

%Vor%

4) Mounten Sie Ihre Anwendung auf dem Load Balancer (Apache2-Konfigurationsdatei):

%Vor%

Auf Ihren Tomcat-Servern:

5) Installieren Sie Tomcat mit dem Tarball-Paket (viel besser als die Apt-Version). Ändern Sie die Datei server.xml:

  1. deaktivieren Sie die http-Connectors.
  2. Aktivieren Sie den AJP / 1.3-Connector und legen Sie den Port fest, den Sie in der Datei workers.properties für diesen Knoten definiert haben.
  3. Fügen Sie jvmRoute mit dem richtigen Knotennamen zum Element "Engine" hinzu:

    %Vor%
  4. fügen Sie ein "Cluster" -Element für die einfachste Konfiguration hinzu

    %Vor%

6) Stellen Sie Ihre Anwendung für alle Tomcats bereit und fügen Sie Ihrer web.xml ein verteilbares Element hinzu.

%Vor%

7) Stellen Sie sicher, dass der Webserver auf die ajp-Ports auf Ihren Tomcat-Servern zugreifen kann und niemand sonst.

8) Starten Sie nacheinander den Webserver und die Tomcats und überprüfen Sie die Logs (/var/log/apache2/mod_jk.log).

9) Greifen Sie auf Ihre App zu: Ссылка

10) Überprüfen Sie die lb-Statusseite Ссылка

    
Stefan 12.03.2012, 21:56
quelle

Tags und Links