Hohe Verfügbarkeit für Transaktionen
Die hohe Verfügbarkeit des Transaktionsservice ermöglicht jedem Server in einem Cluster, Transaktionsaufgaben für jeden anderen Server in demselben Cluster wiederherzustellen. Diese Funktion ist ein Teil der Gesamtstrategie für hohe Verfügbarkeit (HA, High Availability) von WebSphere Application Server.
Diese Funktion ist eine Ergänzung der Unterstützung für Peerneustart und -wiederherstellung,
mit der Sie ein Peersystem in einem Systemkomplex
erneut starten können.
Der Transaktionsservice protokolliert Informationen zu aktiven Transaktionsaufgaben im Wiederherstellungsprotokoll für Transaktionen. Für die Wiederherstellung von Transaktionen ist der Transaktionsservice somit von großer Wichtigkeit. Im Wiederherstellungsprotokoll für Transaktionen werden die Informationen persistent gespeichert, d. h. alle Transaktionsaufgaben, die beim Serverausfall aktiv sind, können beim Neustart des Servers aufgelöst werden. Diese Aktivität wird als Verarbeitung der Transaktionswiederherstellung bezeichnet. Zusätzlich zur Beendigung ausstehender Transaktionen stellt diese Verarbeitung sicher, dass alle in den zugeordneten Ressourcenmanagern gehaltenen Sperren freigegeben werden.
Verarbeitung der Peerwiederherstellung
Der Standardwiederherstellungsprozess, der beim Neustart eines Anwendungsservers ausgeführt wird, sieht vor, dass der Server die protokollierten Transaktionsinformationen abruft und verarbeitet, Transaktionsaufgaben wiederherstellt und Transaktionen mit unbestätigtem Status beendet. Die Beendigung der Transaktionsaufgaben (und damit die Freigabe der von den Transaktionen gehaltenen Datenbanksperren) findet statt, nachdem der Server erneut gestartet wurde und die Verarbeitung der Transaktionsprotokolle abgeschlossen ist. Falls der Server für eine Wiederherstellung zu langsam ist oder einen manuellen Eingriff erfordert, werden die Transaktionsaufgaben nicht abgeschlossen und der Zugriff zu die zugeordneten Datenbanken unterbrochen.
Um solche Unterbrechungen der Transaktionsaufgaben und des Zugriffs auf die zugehörigen Datenbanken auf ein Minimum zu reduzieren, stellt WebSphere Application Server eine Strategie für hohe Verfügbarkeit bereit, die als Peerwiederherstellung von Transaktionen bezeichnet wird.
Die Peerwiederherstellung wird innerhalb eines Server-Cluster durchgeführt. Ein Peer-Server (ein anderes Cluster-Member) kann die Wiederherstellungsprotokolle eines ausgefallenen Servers verarbeiten, während der Peer seine eigene Transaktionslast weiterhin verwaltet. Sie müssen nicht warten, bis der ausgefallene Server erneut gestartet ist, und keinen neuen Anwendungsserver starten, um den ausgefallenen Server wiederherzustellen.

Der Prozess der Peerwiederherstellung ist das logische Äquivalent zum Neustart des ausgefallenen Servers, bei dem kein vollständiger Neustart des ausgefallenen Servers innerhalb des Peer-Servers erforderlich ist. Der Prozess der Peerwiederherstellung bietet die Möglichkeit, ausstehende Aufgaben zu beendigen. Das Starten neuer Aufgaben ist jedoch nicht möglich. Es ist keine Weiterleitungsverarbeitung für den ausgefallenen Server möglich.
Durch die Peerwiederherstellung werden die Anforderungen der hohen Verfügbarkeit von einzelnen Servern auf den Server-Cluster verlagert. Nach Ausfällen verteilt das Verwaltungssystem des Clusters die Aufgaben auf die verbleibenden Server. Der Benutzer bemerkt hierbei bestenfalls einen leichten Rückgang des Gesamtdurchsatzes des Systems. Wenn ein Server ausfällt, müssen nur alle Aufgaben, die auf diesem Server aktiv waren, beendigt und die Anforderungen an einen alternativen Server umgeleitet werden.
- Automatische Peerwiederherstellung
- Dieser Stil ist die Standardeinstellung für die Einleitung der Peerwiederherstellung. Wenn ein Anwendungsserver ausfällt, wählt WebSphere Application Server automatisch einen Server aus, der die Verarbeitung der Peerwiederherstellung durchführt, und gibt die Wiederherstellung an den ausgefallenen Server zurück, wenn dieser erneut gestartet wird. Zur Verwendung dieses Modells müssen Sie lediglich die Wiederherstellung des Transaktionsprotokolls aktivieren und für jedes Cluster-Member das Verzeichnis für das Wiederherstellungsprotokoll konfigurieren.
- Manuelle Peerwiederherstellung
- Sie müssen diesen Stil der Peerwiederherstellung explizit konfigurieren. Wenn ein Anwendungsserver ausfällt, wählen Sie in der Administrationskonsole einen Server aus, der die Wiederherstellungsverarbeitung durchführt.
In einer HA-Umgebung müssen Sie die Kompensationsprotokolle und die Transaktionsprotokolle konfigurieren. Verwenden Sie für jeden Server im Cluster die Einstellungen des Kompensationsservice, um eine eindeutige Position für das Kompensationsprotokoll zu konfigurieren und um sicherzustellen, dass alle Cluster-Member auf diese Kompensationsprotokolle zugreifen können.
Beispiel für Peerwiederherstellung
Die folgenden Abbildungen veranschaulichen den Prozess der Peerwiederherstellung, der beim Ausfall eines Servers stattfindet. Abbildung 2 zeigt drei stabile Server in einem Cluster von WebSphere Application Server. Die Workload wird gleichmäßig auf diese Server verteilt, was dazu führt, dass die Back-End-Datenbank Sperren für jeden Server hält.

Abbildung 3 zeigt den Status des Systems, nachdem Server 1 ausgefallen ist, ohne die Sperren der Datenbank zu bereinigen. Die Server 2 und 3 konnten ihre laufenden Transaktionen abschließen und die vorhandenen Sperren in der Back-End-Datenbank freigeben. Der weitere Zugriff auf die Datenbank könnte jedoch behindert werden, weil die Sperren für Server 1 noch immer gehalten werden. Bei entsprechend detailliert konfigurierten Sperren könnte der Datenbankzugriff für die Server 2 und 3 in der Praxis noch in gewissem Maße möglich sein. Für dieses Beispiel wollen wir jedoch annehmen, dass die Server 2 und 3 versucht haben, auf gesperrte Datensätze zuzugreifen, und blockiert wurden.

Abbildung 4 zeigt eine Peerwiederherstellung von Server 1. Dieser Prozess wird in Server 3 ausgeführt. Der vom Transaktionsservice übernommene Teil des Wiederherstellungsprozesses ruft die von Server 1 gespeicherten Informationen ab und schließt mit diesen Informationen alle Transaktionen mit unbestätigtem Status ab. In dieser Abbildung ist die Peerwiederherstellung nur teilweise abgeschlossen, denn die Datenbank hält noch immer einige Sperren für Server 1.

Abbildung 5 zeigt den Status des Server-Cluster nach beendeter Peerwiederherstellung. Das System befindet sich in einem stabilen Zustand mit nur zwei Servern, auf die die Workload gleichmäßig verteilt wird. Server 1 kann neu gestartet werden und muss dann keine Verarbeitungsschritte für seine eigene Wiederherstellung ausführen.
