In un ambiente in cluster, un aggiornamento in sequenza consente di ridistribuire un'applicazione con una perdita minima di servizio e sessioni. Per sessione si intende qualsiasi artifact replicabile, ad esempio:
HttpSession
SingleSignOn
ServletTimer
DialogFragment
Bean di sessione con conservazione dello stato
È possibile utilizzare il load balancer e più cluster per aggiornare componenti in GlassFish Server senza perdita di servizio. Un componente può essere rappresentato, ad esempio, da un computer JVM, il software GlassFish Server o un'applicazione Web.
È possibile eseguire l'aggiornamento in sequenza con carichi da leggeri a moderati. La procedura richiede circa 10-15 minuti per ciascuna istanza di GlassFish Server.
Le applicazioni devono essere compatibili in tutto l'aggiornamento. Devono funzionare correttamente nella fase di transizione, ossia quando alcune istanze sono in esecuzione nella versione precedente e altre nella nuova versione. Nella versione precedente e in quella nuova deve essere disponibile la stessa forma delle classi serializzabili che costituiscono i grafici di oggetti memorizzati nelle sessioni (ad esempio, variabili di istanza non temporanee). Se è necessario modificare la forma di queste classi, lo sviluppatore dell'applicazione deve assicurare che il comportamento della serializzazione sia corretto. Se l'applicazione non è compatibile nel corso dell'intero aggiornamento, il cluster deve essere interrotto per una ridistribuzione completa.
Questo approccio non è possibile se l'aggiornamento dell'applicazione implica una modifica allo schema del database dell'applicazione.
Attenzione:
Per evitare rischi di mancata corrispondenza tra le versioni in caso di failover di una sessione, aggiornare tutte le istanze di un cluster contemporaneamente. In caso contrario una sessione potrebbe eseguire il failover in un'istanza in cui sono in esecuzione versioni diverse dei componenti.Eseguire il task in ogni cluster separatamente. I cluster rappresentano un limite sicuro per i failover di sessione per le istanze del cluster. Le sessioni di un cluster non eseguono mai il failover in sessioni di un altro cluster. In tal modo si evita il rischio di mancata corrispondenza delle versioni.
Arrestare il cluster.
Vedere Arrestare un cluster.
Aggiornare il componente in quel cluster.
Avviare il cluster.
Vedere Avviare un cluster.