WebSphere Extended Deployment, Version 6.0.x     Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows, z/OS

Neuverteilung von HTTP-Sitzungen

WebSphere Extended Deployment kann die Verteilung von HTTP-Sitzungen auf die Anwendungsserver dynamisch und aktiv ändern.

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 Extended Deployment führt die Neuverteilung von Sitzungen ein, 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 Anwendungssservern von WebSphere Extended Deployment die Sitzungsüberwachung mit Cookies, aber ohne verteilte Sitzungen aktiviert.

Informationen zum Konfigurieren der Anwendungsserver für verteilte Sitzungen finden Sie im Artikel Einstellungen für verteilte Umgebungen. Ausführliche Informationen zu den beiden verfügbaren Optionen finden Sie in den Artikeln Persistenz für Datenbanksitzungen konfigurieren und Replikation zwischen Speichern für den Peer-to-Peer-Modus (Standardreplikation zwischen Speichern).

Der Artikel "Replikation zwischen Speichern für den Peer-to-Peer-Modus konfigurieren (Standardreplikation zwischen Speichern)" beschreibt, wie Server in statischen Clustern konfiguriert werden. Diese Schritte gelten jedoch gleichermaßen für Server in dynamischen Clustern. Wenn Sie einen dynamischen Cluster konfigurieren, lassen Sie diesen erst im statischen 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.

[Version 6.0 only] In WebSphere Extended Deployment Version 6.0 hat die Neuverteilung von Sitzungen das Ziel, Sitzungen neu zu verteilen, damit jeder Server den gleichen Anteil aller vorhandenen Sitzungen erhält. Die Anzahl der Sitzungen, die dem neuen Anwendungsserver zugeordnet werden, richtet sich nach der Anzahl der Sitzungen jedes vorhandenen Anwendungsservers und der Wertigkeit jedes Anwendungsservers. Die Funktion für die Neuverteilung von Sitzungen wird in jedem Anwendungsserver ausgeführt. Jeder Anwendungsserver wird über neue verfügbare Anwendungsserver sowie die Wertigkeiten und Sitzungsanzahl jedes Servers informiert. Mit diesen Informationen kann der Anwendungsserver bestimmen, wie viele Sitzungen vom aktuellen Anwendungsserver auf den neuen Anwendungsserver verschoben werden. Anschließend wird die Anzahl zu verschiebender Sitzungen an den HTTP-Servlet-Filter übergeben, der beim Serverstart dynamisch hinzugefügt wird, um Sitzungsanforderungen abzufangen und umzuleiten.

[Version 6.0.1 and later] 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 Cluster 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 die vom DWLM überwachten Ereignisse ausgelöst werden, z. B. das Starten neuer Server, überlastete Server usw.

[Version 6.0.1 and later] 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. Nähere 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.

Sie können die Neuverteilung von Sitzungen aktivieren oder inaktivieren, indem Sie das benutzerdefinierte Merkmal HttpSessionRebalanceOff in der Administrationskonsole entsprechend ändern. Nähere Informationen hierzu finden Sie im Artikel Benutzerdefinierte Merkmale für die Verteilung von Anwendungen.

[Version 6.0 only]

Beispiel

Wenn die Neuverteilung von Sitzungen aktiviert ist und der neue Server im dynamischen Cluster gestartet wird, werden die folgenden Aktionen ausgeführt, um die Sitzungsanforderungen auf den neuen Server umzuverteilen.

  1. Ein neuer Anwendungsserver wird im dynamischen Cluster verfügbar.
  2. Die Komponente für die Neuverteilung von Sitzungen in jedem vorhandenen Server wird über den neuen Anwendungsserver und die Wertigkeiten sowie die Anzahl der Sitzungen jedes einzelnen Servers benachrichtigt. Basierend auf diesen Informationen berechnet die Komponente für die Neuverteilung von Sitzungen die Anzahl der Sitzungen, die auf den neuen Server verschoben werden.
  3. In der Zwischenzeit generiert der Client eine Anforderung für eine vorhandene Sitzung und sendet das im Client-Browser eingerichtete Cookie.
  4. Das Cookie enthält eine Sitzungs-ID und eine Server-ID und ist einem vorhandenen Anwendungsserver mit einer eingerichteten Sitzungsaffinität zugeordnet.
  5. Wenn auf dem Server mit der Sitzungsaffinität die Anzahl der Sitzungen, die auf den neuen Server verschoben werden sollen, nicht vorhanden ist, ändert der Servlet-Filter die Antwort auf die Anforderung. Anstatt die eigentliche Antwort zu senden, sendet der Servlet-Filter eine Umleitung an den Client zurück, die die Server-ID für den neuen Anwendungsserver enthält. Wenn der Anwendungsserver die Sitzung nicht auf den neuen Anwendungsserver verlagert, leitet der Servlet-Filter die Anforderung an die Servlets weiter.
Die folgende Abbildung veranschaulicht diesen Prozess:
Figure 1. Neuverteilung von HTTP-Sitzungen in WebSphere Extended Deployment Version 6.0

[Version 6.0.1 and later]

Beispiel

Es folgt ein Beispiel für die Neuverteilung von Sitzungen in einer Umgebung mit Extended Deployment Version 6.0.1 und höher:

  1. Im dynamischen Cluster wird ein neuer Server verfügbar oder ein vorhandener Server ist überlastet.
  2. Der Dynamic Workload Manager (DWLM) berechnet die Anzahl der zu verschiebenden Sitzungen. Wenn ein neuer Server verfügbar ist, kann der DWLM dem neuen Server Sitzungen von vorhandenen Servern zuordnen. Wenn ein vorhandener Server überlastet ist, kann der DWLM Sitzungen von den überlasteten Servern auf andere Server im dynamischen Cluster verschieben.
  3. In der Zwischenzeit generiert der Client eine Anforderung für eine vorhandene Sitzung und sendet das im Client-Browser eingerichtete Cookie.
  4. Das Cookie enthält eine Sitzungs-ID und eine Server-ID und ist einem vorhandenen Anwendungsserver mit einer eingerichteten Sitzungsaffinität zugeordnet.
  5. Wenn der DWLM anzeigt, dass eine bestimmte Anzahl Sitzungen vom Zielserver auf andere Server im Cluster verschoben werden müssen, sendet der Servlet-Filter eine Umleitung an den Client zurück, die die ID des neuen Servers enthält. Sollten Sie die vom DWLM empfohlene Anzahl von Sitzungen bereits auf andere Server verschoben haben, leitet der Servlet-Filter die Anforderung an den Server weiter, der der Server-ID entspricht.
Die folgende Abbildung veranschaulicht diesen Prozess:
Figure 2. Neuverteilung von HTTP-Sitzungen in WebSphere Extended Deployment Version 6.0.1 und höher
Szenario für die Neuverteilung von Sitzungen in Version 601



Related tasks
Dynamische Cluster erstellen und konfigurieren

Konzeptartikel    

Nutzungsbedingungen | Feedback Letzte Aktualisierung: Mar 23, 2006 9:51:53 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/odoe_task/codrsessionbalance.html

© Copyright IBM 2004, 2006. Alle Rechte vorbehalten.
Dieses Information Center beruht auf der Eclipse-Technologie. (http://www.eclipse.org)