Freitag, 23. März 2012

WebLogic und OHS: Loadbalancing konfigurieren

Das Loadbalancing für den WebLogic Server wird im Oracle HTTP Server über das Modul mod_wl_ohs durchgeführt. Dieses wird über die Konfigurationsdatei mod_wl_ohs.conf im jeweiligen Instanzverzeichnis konfiguriert. In diesem Beispiel ist es die d:\Oracle\Middleware.11116\Oracle_WT11116\instances\instance1\config\OHS\ohs11116\mod_wl_ohs.conf
 Nach der Installation befindet sich dort bereits eine leere mod_wl_ohs.conf, in der die benötigten Einträge ergänzt werden können. Im Bereich für das weblogic_module (zwischen <IfModule ...> und </IfModule>) werden hierzu zwei Zeilen ergänzt, so daß der gesamte Bereich wie folgt aussieht:

<IfModule weblogic_module>
#      WebLogicHost <WEBLOGIC_HOST>
#      WebLogicPort <WEBLOGIC_PORT>
#      Debug ON
#      WLLogFile /tmp/weblogic.log
#      MatchExpression *.jsp
    WebLogicCluster    localhost:7003,localhost:7004
    MatchExpression /*
</IfModule>

Dier erste Zeile mit 'WebLogicCluster' gibt an, auf welche Adressen und Ports weitergeleitet werden soll. In diesem Fall die beiden Managed Server auf dem lokalen Rechner auf den Ports 7003 und 7004.
Die zweite Zeile 'MatchExpression' gibt an, welche Anfragen weitergeleitet werden sollen. In diesem einfachen Beispiel wird einfach alle ('/*') weitergeleitet.

Jetzt muss der OHS einmal neu gestartet werden, damit die geänderte Konfiguration eingelesen wird.

Der Neustart erfolgt über opmnctl stopall und anschliessendem opmnctl startall.

Jetzt kann das Loadbalancing mit dem in der vorherigen Übung installierten Servlet getestet werden. Hierzu wird das Servlet nicht mehr über die Ports des jeweiligen Managed Server, sondern über den Port (7777), also


Das Ergebnis sieht dann auch erst einmal - wenig verwunderlich - genau so aus wie beim Aufruf der ungeclusterten Variante.
In einem der beiden Kommandozeilen-Fenster der Managed Server sind dann auch die Aufrufe zu sehen. Dies ist die Instanz, welche die aktuelle Session bedient. Um einen Ausfall zu simulieren, wird das Fenster einfach einmal geschlossen.
Drückt man jetzt den Reload-Button im Browser, fällt auf dass es dieses Mal einen kleinen Moment dauert, bis der Server antwortet. Hier findet jetzt der Failover statt. Nach einer kurzen Schrecksekunde kommt dann aber die Antwort und der Zähler liefert den nächsten Wert.
Im Kommandozeilen-Fenster der verbleibenden Instanz kann man dann auch sehen, wie die neuen Aufrufe bedient werden. Auch wird eine kurze Warnung ausgegeben, daß ein Failover erfolgte.

Damit ist das Clustering-Beispiel für den Weblogic Server abgeschlossen.

Keine Kommentare:

Kommentar veröffentlichen