In einer Clusterumgebung wird durch ein laufendes Upgrade eine Anwendung bei minimalem Verlust von Services und Sessions erneut bereitgestellt. Eine Session ist ein Artefakt, das repliziert werden kann. Beispiel:
HttpSession
SingleSignOn
ServletTimer
DialogFragment
Stateful Session-Bean
Sie können den Load Balancer und mehrere Cluster verwenden, um Komponenten in GlassFish Server ohne Serviceunterbrechung zu aktualisieren. Bei einer Komponente kann es sich beispielsweise um eine JVM, die GlassFish Server-Software oder eine Webanwendung handeln.
Ein Rolling-Upgrade kann bei leichter bis mittlerer Auslastung stattfinden. Der Vorgang dauert ca. 10-15 Minuten für jede GlassFish Server-Instanz.
Die Anwendungen innerhalb des Upgrades müssen kompatibel sein. Während des Übergangs müssen sie ordnungsgemäß funktionieren, wenn bei einigen Instanzen die alte Version und bei anderen Instanzen die neue Version ausgeführt wird. Die alte und neue Version müssen die gleiche Form von serialisierbaren Klassen aufweisen, die in Sessions gespeicherte Objektdiagramme bilden (beispielsweise nicht-temporäre Instanzenvariablen). Wenn die Form dieser Klassen sich ändert, muss der Entwickler der Anwendung sicherstellen, dass das Serialisierungsbehavior ordnungsgemäß ist. Wenn die Anwendungen innerhalb des Upgrades nicht kompatibel sind, muss das Cluster angehalten und vollständig neu bereitgestellt werden.
Dieser Ansatz ist nicht möglich, wenn das Anwendungsupgrade eine Änderung am Datenbankschema der Anwendung erfordert.
Achtung:
Um unterschiedliche Versionen bei einem Failover einer Session zu vermeiden, aktualisieren Sie gleichzeitig alle Instanzen in einem Cluster. Andernfalls wird möglicherweise ein Failover einer Session auf eine Instanz durchgeführt, auf der unterschiedliche Versionen der Komponenten ausgeführt werden.Führen Sie diese Task auf jedem Cluster separat durch. Ein Cluster fungiert als Sicherheitsbarriere für ein Session-Failover auf Instanzen im Cluster. Bei Sessions in einem Cluster kann niemals ein Failover auf Sessions in einem anderen Cluster durchgeführt werden. Dadurch wird das Risiko unterschiedlicher Versionen vermieden.
Stoppen Sie das Cluster.
Upgraden Sie die Komponenten in diesem Cluster.
Starten Sie das Cluster
So werden Verfügbarkeitseinstellungen für ein Cluster konfiguriert
So werden Anwendungen aufgelistet, die für ein Cluster bereitgestellt sind
So wird das Deployment von Anwendungen auf einem Cluster aufgehoben
So wird eine Anwendung bearbeitet, die in einem Cluster bereitgestellt ist
So wird eine Anwendung aktiviert oder deaktiviert, die in einem Cluster bereitgestellt ist