HTTP-Sitzungen können mit Hilfe der Funktion für Neuverteilung von HTTP-Sitzungen dynamisch und aktiv auf die Anwendungsserver verteilt werden.
WebSphere Application Server ordnet die HTTP-Sitzungen basierend auf der Affinität zu Anwendungsservern zu. Nachdem eine Sitzung in einem bestimmten Anwendungsserver eingerichtet wurde, werden nachfolgende Anforderungen für dieselbe Sitzung dem Anwendungsserver mit der eingerichteten Sitzungsaffinität zugeordnet.
Sitzungsaffinitäten bewirken, dass die Sitzungslast in einem Cluster langfristig gleichmäßig verteilt wird. Deshalb ist ein Ungleichgewicht im Allgemeinen nur von kurzer Dauer und somit tolerierbar. Sie können die Neuverteilung von Sitzungen jedoch einsetzen, um kurzfristige Störungen des Gleichgewichts zu überwinden, ohne die Leistungsvorteile von Sitzungsaffinitäten aufgeben zu müssen.
WebSphere Virtual Enterprise verwendet die Neuverteilung von Sitzungen, um eine gleichmäßige Verteilung von Sitzungen in einem Cluster zu beschleunigen. Sie können die Neuverteilung von Sitzungen verwenden, wenn Sie mit verteilten Sitzungen arbeiten und Ihre Sitzungen mit Cookies verfolgen. Standardmäßig ist in der Konfiguration von Anwendungsservern mit WebSphere Virtual Enterprise die Sitzungsüberwachung mit Cookies, aber ohne verteilte Sitzungen aktiviert.
Die Schritte, die Sie zum Konfigurieren von Servern in statischen Clustern ausführen, können auch für Server in dynamischen Clustern verwendet werden. Wenn Sie einen dynamischen Cluster konfigurieren, lassen Sie diesen zunächst im manuellen Modus, so dass die Server im Cluster nicht automatisch gestartet werden. Nachdem Sie die Einstellungen für verteilte Umgebungen aller Server im Cluster geändert haben, stellen Sie den dynamischen Cluster auf Automatikmodus um. Wenn Sie den Modus nicht umstellen, müssen Sie die Server, die im dynamischen Cluster bereits gestartet sind, stoppen und erneut starten, damit die Änderungen an den Einstellungen für verteilte Umgebungen übernommen werden.
Wenn ein neuer Server in einem dynamischen Cluster verfügbar wird, sind diesem Server keine HTTP-Sitzungen zugeordnet. Die vorhandenen Server im dynamischen Cluster haben jedoch Sitzungen mit einer zugeordneten Affinität.
In WebSphere Extended Deployment Version 6.0.1 und höher hat die Neuverteilung von Sitzungen das Ziel, die Sitzungen so neu zu verteilen, dass die Anzahl der Sitzungen, die in jedem Server des dynamischen Clusters ausgeführt werden, proportional zur zugeordneten Wertigkeit der Server ist. Die Neuverteilung von Sitzungen wird vom DWLM (Dynamic Workload Manager) ausgeführt. Der DWLM entscheidet basierend auf den Kenntnissen, die er über den gesamten dynamischen Cluster besitzt, wie viele Sitzungen verschoben werden und wohin. Die DWLM-Komponente berücksichtigt die Sitzungsposition und kann Sitzungsverschiebungen einleiten sowie die Wertigkeit auf bestimmten Servern ändern. Die Verschiebungen können durch jedes der vom DWLM überwachten Ereignisse ausgelöst werden, z. B. das Starten neuer Server, überlastete Server usw.
DWLM wählt häufig eine sehr ungerade Verteilung von Routing-Wertigkeiten. Dieser Ansatz ist zulässig, weil das einzige Ziel von DWLM ausgeglichene Servicezeiten sind. In WebSphere Extended Deployment Version 6.0.1 und höher hat der DWLM ein zweites Ziel. DWLM versucht, die Routing-Wertigkeiten auszugleichen, wenn dies möglich ist, ohne das primäre Ziel - die ausgeglichenen Servicezeiten - wesentlich zu beeinträchtigen.
Wenn Sie die ObjectGrid-basierte HTTP-Sitzungsunterstützung anstelle der herkömmlichen Sitzungsverwaltung von WebSphere Application Server verwenden, wird die Neuverteilung von HTTP-Sitzungen nicht unterstützt.
Wenn Sie Sitzungen verwenden, die mit URL-Umschreibung oder SSL-IDs verwaltet werden, wird keine Neuverteilung durchgeführt. Auch für HTTP-POST-Anforderungen erfolgt keine Neuverteilung. Es wird keine Neuverteilung von Sitzungen durchgeführt, wenn der Zugriff auf die Sitzung durch ein direktes Absetzen der HTTP-Anforderung an den HTTP-Port des Anwendungsservers erfolgt und der On Demand Router dabei umgangen wird. Der PMI-Zähler für speicherresidente Sitzungen gibt Aufschluss über die verschobenen Sitzungen. Er verringert sich für die vorhandenen Server, wenn Sitzungen verschoben werden, und erhöht sich für die neuen Server, die gestartet werden. Neue Sitzungen hingegen werden gleichmäßig auf die Server im Cluster verteilt. Weitere Informationen zum Analysieren der PMI-Daten und den Best Practices für die Verwendung von HTTP-Sitzungen finden Sie im WebSphere Application Server Network Deployment Information Center.
In WebSphere Virtual Enterprise Version 6.1 und höher befinden sich die Anforderungs- und Antwortfilter für die Neuverteilung von Sitzungen im ODR. Diese Filter überwachen, welche Sitzungen an welche Server verteilt werden, um so die Anzahl der Livesitzungen zu ermitteln. Anhand von Informationen des Dynamic Workload Manager (DWLM) für jeden dynamischen Cluster überwacht der ODR außerdem die Anzahl der Sitzungen, die an jeden Server verteilt werden, und bestimmt somit eine Rangfolge der Server im dynamischen Cluster. Diese Rangfolge wird verwendet, um festzustellen, wie viele Sitzungen zwischen den Servern verschoben werden. Die Standardkonfigurationen variieren je nach Typ des verwendeten dynamischen Clusters:
Wenn Sie die ObjectGrid-basierte HTTP-Sitzungsunterstützung anstelle der herkömmlichen Sitzungsverwaltung von WebSphere Application Server verwenden, wird die Verteilung von HTTP-Sitzungen unterstützt.
Sie können die Neuverteilung von Sitzungen aktivieren oder inaktivieren, indem Sie die angepasste Eigenschaft "HttpSessionRebalanceOff" in der Administrationskonsole des dynamischen Clusters entsprechend ändern.
Wenn Sie die Neuverteilung von Sitzungen auf andere Typen von Middleware-Servern und ObjectGrid-Server aktivieren möchten, müssen Sie die angepasste Eigenschaft "HttpSessionRebalanceOff" für den dynamischen Cluster auf "false" setzen. Die Neuverteilung von Sitzungen wird für dynamische Cluster, die Anwendungsserver enthalten, automatisch aktiviert. setzen Sie die angepasste Eigenschaft in einem bestimmten dynamischen Cluster.
Das folgende Beispiel veranschaulicht die Neuverteilung von Sitzungen in einer Umgebung mit WebSphere Virtual Enterprise Version 6.1. In diesem Beispiel sind dynamische Cluster der Version 6.0.1 und dynamische Cluster der Version 6.1 in der Konfiguration enthalten. Die Server der Version 6.0.1 setzen die Neuverteilung von Sitzungen innerhalb des Servers fort. Der Server der Version 6.1 führt die Neuverteilung von Sitzungen durch, indem er Informationen vom DWLM an den ODR sendet. Anschließend leitet der ODR die HTTP-Sitzungen an den entsprechenden Server weiter.