Cluster und Workload-Management
Cluster sind Gruppen von Servern, die gemeinsam verwaltet werden und ein gemeinsames Workload-Management haben. Cluster ermöglichen Unternehmensanwendungen, den Durchsatz, der mit einem einzigen Anwendungsserver erzielt werden kann, erheblich zu übertreffen. Außerdem können Unternehmensanwendungen Cluster für die hohe Verfügbarkeit einzusetzen, da Anforderungen bei einem Serverausfall automatisch an die aktiven Server weitergeleitet werden. Die Server, die zu einem Cluster gehören, können sich auf verschiedenen Hostmaschinen befinden. Server, die zu demselben Knoten gehören, müssen sich jedoch auf derselben Hostmaschine befinden. Eine Zelle kann keine Cluster, einen Cluster oder mehrere Cluster enthalten.
Server, die zu einem Cluster gehören, sind Member dieses Cluster. Auf allen Membern eines Cluster müssen die implementierten Anwendungskomponenten identisch sein. Anders als die Anwendungen, die zur Ausführung auf ihnen konfiguriert sind, müssen Cluster-Member keine weiteren Konfigurationsdaten gemeinsam nutzen. Ein Cluster-Member kann auf einem großen Multi-Prozessor-Enterprise-Serversystem laufen, während ein anderes Member desselben Cluster auf einem kleineren System läuft. Die Konfigurationseinstellungen des Servers für diese beiden Cluster-Member werden sehr unterschiedlich sein, außer im Bereich der zugeordneten Anwendungskomponenten. Im Bereich der Konfiguration sind sie identisch. Auf diese Weise können Clientanforderungen an alle Member eines Clients verteilt werden, d. h. die Arbeitslast muss nicht mehr von einem einzigen Anwendungsserver bewältigt werden.
Wenn Sie einen Cluster erstellen, erstellen Sie Kopien einer vorhandenen Anwendungsserverschablone. In der Regel wird als Schablone ein bereits konfigurierter Anwendungsserver verwendet. Sie können diesen Server als Member des Cluster definieren. Es wird jedoch empfohlen, den Server nur als Schablone zu verwenden, weil ein Cluster-Member nur durch Löschen des Anwendungsservers entfernt werden kann. Wenn Sie einen Cluster löschen, werden auch alle Anwendungsserver, die Member des Cluster waren, gelöscht. Es gibt keine Möglichkeit, Member eines Cluster zu erhalten. Wenn Sie die Originalschablone unverändert lassen, können Sie die Schablone verwenden, falls Sie die Konfiguration wiederherstellen müssen.
In einem vertikalen Cluster befinden sich die Cluster-Member auf demselben Knoten bzw. auf derselben physischen Maschine. In einem horizontalen Cluster befinden sich die Cluster-Member auf mehreren Knoten, verteilt auf zahlreiche Maschinen in einer Zelle. Sie können entweder einen vertikalen oder einen horizontalen Cluster konfigurieren, haben aber auch die Möglichkeit, eine Kombination beider Clustertypen zu verwenden.
Wenn Sie Anwendungsserver mit Web-Containern zu einem Cluster zusammenfassen,
wird automatisch das WLM-Plug-in für die Anwendungsserver und ihre Servlets aktiviert.
Für die Weiterleitung von Servletanforderungen an das Web-Server-Plug-in und die Anwendungsserver im Cluster
werden HTTP-Transporte oder HTTP-Transportkanal verwendet.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)

Die Weiterleitung basiert auf den Wertigkeiten, die den Cluster-Membern zugewiesen sind.
Wenn alle Cluster-Member identische Wertigkeiten haben, verteilt das Plug-in
die Anforderungen gleichmäßig auf alle Member des Cluster, sofern keine strengen
Affinitätskonfigurationen definiert sind. Bei einer Wertigkeitsskala von
0 bis 20 leitet das Plug-in Anforderungen in der Regel an die Cluster-Member mit
einer höheren Wertigkeit.
Sie können die Administrationskonsole verwenden, um eine Wertigkeit für ein Cluster-Member festzulegen. Ordnen Sie einem Cluster-Member basierend auf seiner ungefähren, proportionalen Arbeitsleistung eine Wertigkeit zu. Die Wertigkeit, die für ein bestimmtes Member angegeben wird, ist nur im Kontext der Wertigkeiten gültig, die Sie für die anderen Member in einem Cluster angeben. Die Wertigkeiten geben keinen Aufschluss über die absolute Leistung. Wenn ein Cluster-Member nicht verfügbar ist, leitet das Web-Server-Plug-in Anforderungen vorübergehend um dieses Cluster-Member herum weiter.
Wenn Sie beispielsweise einen Cluster haben, der zwei Member hat, und die Wertigkeiten 1 und 2 zuordnen, erhält das erste Member ungefähr 1/3 der Arbeitslast und das zweite Member ungefähr 2/3. Wenn Sie dem Cluster jedoch ein drittes Member hinzufügen und dem neuen Member die Wertigkeit 1 zuweisen, geht ca. 1/4 der Arbeitslast an das erste Member, ca. 1/2 an das zweite Member und ca. 1/4 an das dritte Member. Sollte das erste Cluster-Member ausfallen, erhält das zweite Member ungefähr 2/3 der Arbeitslast und das dritte Member ungefähr 1/3.
Die Wertigkeiten sind nur ein Näherungswert für die Lastverteilungsziele. Es gibt andere Anwendungsabhängigkeiten, z. B. die Threadparallelität, lokale Einstellungen, Affinität und Ressourcenverfügbarkeit, die mitbestimmen, wohin eine bestimmte Anforderung gesendet wird. Verwenden Sie deshalb nicht das exakte Anforderungsmuster, um die Wertigkeitszuordnung für bestimmte Cluster-Member zu bestimmen.
Das Workload-Management für EJB-Container kann erreicht werden, indem der Web-Container und die EJB-Container in verschiedenen Anwendungsservern konfiguriert werden. Es können mehrere Anwendungsserver mit den EJB-Containern in Cluster aufgenommen werden. Das ermöglicht die Verteilung von Enterprise-Bean-Anforderungen zwischen EJB-Containern auf verschiedenen Anwendungsservern.

In dieser Konfiguration werden EJB-Clientanforderungen im Round-Robin-Verfahren, basierend auf den zugeordneten Serverwertigkeiten an die verfügbaren EJB-Container verteilt. Die EJB-Clients können Servlets in einem Web-Container, eigenständige Java™-Programme, die RMI/IIOP verwenden, oder andere EJBs sein.
Die auf den Serverwertigkeiten basierende Round-Robin-Routing-Richtlinie stellt eine gleichmäßige Verteilung der Anforderungen auf die Member eines Cluster sicher. Wenn beispielsweise alle Server im Cluster dieselbe Wertigkeit haben, ist die erwartete Verteilung im Cluster so, dass alle Server dieselbe Anzahl von Anforderungen erhalten. Haben die Server unterschiedliche Wertigkeiten, sendet der Verteilungsmechanismus mehr Anforderungen an Server mit einer höheren Wertigkeit als an Server mit einer niedrigeren Wertigkeit. Die Richtlinie stellt die gewünschte Verteilung basierend auf den den Cluster-Membern zugewiesenen Wertigkeiten sicher.
Sie können das Workload-Management konfigurieren, um die
Tasks gleichmäßig auf mehrere Cluster zu verteilen.
Als bevorzugte Weiterleitung können Sie festlegen, dass Anforderungen an den Knoten gesendet werden, auf dem sich der Client befindet. In diesem Fall werden vom Round-Robin-Verfahren nur die Cluster-Member auf diesem Knoten berücksichtigt. Cluster-Member auf fernen Knoten werden nur ausgewählt, wenn der lokale Server nicht verfügbar ist.
Die mögliche Bearbeitung einer Clientanforderung durch mehrere Server bildet die Basis für die Failoverunterstützung. Wenn bei der Bearbeitung einer Clientanforderung ein Serverfehler auftritt, kann die fehlgeschlagene Anforderung an jeden der verbleibenden Cluster-Member umgeleitet werden. Selbst wenn mehrere Server ausfallen, können die Clientanforderungen weiter bearbeitet werden, solange mindestens ein Cluster-Member aktiv ist.
Ein Ausweichcluster funktioniert auch dann,
wenn keines der Cluster-Member des primären Cluster verfügbar ist.