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.
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:
Fügen Sie jvmRoute mit dem richtigen Knotennamen zum Element "Engine" hinzu:
%Vor%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 Ссылка
Tags und Links java tomcat load-balancing