Questo articolo spiegherà brevemente come puoi aggiornare il tuo server senza tempi di inattività.
Considera una semplice configurazione dell'architettura a 2 livelli con un servizio di bilanciamento del carico e due server Web in esecuzione.
Ogni server può essere aggiornato individualmente senza creare alcun downtime e quindi evitando qualsiasi disturbo agli utenti loggati. Questo viene fatto come indicato di seguito.
Passaggio 1: Rimuoveremo un server fuori dal ciclo disabilitandolo nel sistema di bilanciamento del carico. La freccia rossa indica che al sistema di bilanciamento del carico viene richiesto di non inviare traffico regolare al server web.
Passaggio 2: Aggiorneremo il server web selezionato che è nascosto agli utenti normali. Dopo l'aggiornamento, possiamo testarlo indicando al sistema di bilanciamento del carico di scegliere il server aggiornato per un determinato traffico. Il servizio di bilanciamento del carico può essere configurato per utilizzare l'app server disabilitato in base alla presenza di determinati cookie o determinati URL nella richiesta http. Ciò consentirà al rispettivo team di eseguire test funzionali sul server senza influire sugli utenti regolari.
Passaggio 3: Possiamo eseguire test funzionali nel server aggiornato in produzione per assicurarci che tutto sia a posto con la nuova versione. Dopo aver confermato che tutto funziona correttamente, possiamo riprendere il flusso di traffico verso il server aggiornato. Ora abbiamo server aggiornati e non aggiornati che funzionano insieme nell'ambiente. Se un utente non è persistente sullo stesso server dell'app, può essere un problema. L'utente potrebbe vedere versioni diverse su richieste diverse, il che non è desiderabile. È qui che entra in azione il sistema di bilanciamento del carico. Il servizio di bilanciamento del carico può essere configurato per rendere persistente l'utente sullo stesso server dell'app. Ciò garantirà che un utente vedrà sempre lo stesso server dell'app finché il server dell'app è abilitato. Si consiglia di utilizzare questa opzione insieme alla condivisione della sessione tra i server delle app in modo che l'utente non sia interessato se il server delle app selezionato per la sessione dell'utente viene portato offline.
Passaggio 4: Ora seguiremo gli stessi passaggi anche per l'altro server web.( Disabilita traffico -> Aggiorna server-> Esegui test-> Abilita traffico)
Utilizzando i passaggi precedenti abbiamo aggiornato i nostri due server Web senza causare tempi di inattività. Questo metodo può essere impiegato in architetture che hanno più livelli e più istanze distribuite su di esso.