Aggiornamenti dal vivo in NCache con il 100% di disponibilità

NCache è un sistema in memoria estremamente veloce e scalabile cache distribuita per applicazioni .NET. Viene utilizzato principalmente in ambienti di produzione mission-critical ad alta intensità di lettura. In tali applicazioni, l'elevata disponibilità e il 100% di uptime sono fondamentali, rendendo NCache una necessità.

Una delle caratteristiche principali NCache Una delle soluzioni offerte per tali ambienti è Live Upgrade, che consente di effettuare l'aggiornamento a una versione più recente senza tempi di inattività. NCache Live Upgrade è un meccanismo di migrazione senza tempi di inattività progettato per mantenere la disponibilità al 100% durante le transizioni di versione. Sfruttando una topologia di bridge attivo-passivo, sincronizza i dati in tempo reale tra diverse piattaforme. NCache versioni, consentendo una transizione fluida senza perdita di dati o interruzione dell'applicazione.

Come funziona l'aggiornamento in tempo reale di un cluster di cache?

Live Upgrade riduce significativamente i ritardi tipicamente associati agli aggiornamenti manuali dei server. Consente di aggiornare tutti i server di un cluster di cache con un ritardo minimo. Poiché NCache, in base alla progettazione, richiede che tutti i server eseguano la stessa versione di NCache, questo previene qualsiasi problema di incompatibilità di versione.

Per mantenere aggiornata la versione del tuo cluster, NCache offre Topologia bridge per la replica WAN che funge da ponte tra due cluster di cache. In questo modo, è possibile replicare in modo incrementale i dati della cache attualmente in esecuzione sull'ultima versione NCache cache utilizzando quel bridge nel frattempo mentre le cache continuano a essere eseguite.

Questo processo di Live Upgrade funziona in modo simile a una strategia di distribuzione Blue-Green. Il cluster "Source" funge da ambiente "Blue", mentre il cluster "Target" funge da ambiente "Green", con il Bridge che garantisce la parità dei dati e una sincronizzazione fluida prima del passaggio finale.

NCache Diagramma di aggiornamento in tempo reale della migrazione blu-verde che mostra la sincronizzazione dei dati dal cluster di origine a quello di destinazione tramite la topologia Bridge
NCache Flusso di lavoro di migrazione Blue-Green e aggiornamento live senza tempi di inattività.

Segui i passaggi indicati qui per aggiornare le cache del tuo cluster tramite Live Upgrade.

Fase 1: Isolamento di un sottoinsieme di server per gli aggiornamenti software

Nel tuo cluster, se hai 2 o più server cache, prendine un sottoinsieme per aggiornare il NCache software server su quei server.

Quando si estrae un sottoinsieme, è meglio avere un totale di 4 o più server cache, in modo che almeno 2 server rimangano nel cluster di origine. Tuttavia, in questi casi, l'applicazione potrebbe subire tempi di inattività se l'unico server che la supporta si blocca.

Passaggio 2: Inizializzazione del cluster per i più recenti NCache versioni

Dopo aver aggiornato NCache Su 2 o più server cache, crea un cluster di tutti i server e avvia la cache su questi server. Devi avere almeno 2 server in ogni sottocluster per garantire un'elevata disponibilità: se c'è un solo server e questo si blocca, potresti riscontrare tempi di inattività.

Fase 3: Sincronizzazione dei dati tramite topologia bridge attivo-passivo

Dopo aver creato con successo un cluster comprendente tutti i server cache che eseguono una versione più recente di NCache, creare un ponte tra il nuovo cluster (comunemente noto come cache di destinazione) e il cluster della versione precedente (cache di origine).

Per creare questo Bridge, puoi utilizzare due server dedicati con la versione precedente di NCache oppure eseguire una topologia Bridge su due dei server con una versione precedente in esecuzione di NCacheUtilizzare una configurazione attiva-passiva della topologia Bridge e attendere che il cluster di destinazione sia completamente sincronizzato con il cluster di origine.

Sul nodo Bridge, è necessario aggiungere gli IP della cache di destinazione per popolare i server Bridge. È possibile farlo tramite bridge.ncconf come segue:

<configuration>
  <bridge-config ... >
      <cache ... servers-list="20.200.20.38, 20.200.20.29" ... />
   </bridge-config>
</configuration>

Fase 4: migrazione graduale del client al cluster di destinazione

Dopo che entrambi i cluster sono stati completamente sincronizzati, è necessario prendere un sottoinsieme dei client e migrarlo completamente al cluster cache della nuova versione. Una volta completata la migrazione, è necessario arrestare immediatamente tutti i client connessi alle vecchie versioni. Questa migrazione dei client cache tramite un bridge attivo-passivo garantisce che non vi siano perdite di dati né interruzioni nelle operazioni delle applicazioni client.

Fase 5: Finalizzazione dell'aggiornamento per i nodi rimanenti

Una volta che le connessioni client sono state trasferite correttamente al cluster di destinazione, il cluster di origine deve essere arrestato e aggiornato. Una volta aggiornato, questi nodi vengono ricollegati al cluster di destinazione, ripristinando la piena alta disponibilità e aumentando la capacità di elaborazione totale del nuovo ambiente.

Questo dovrebbe essere il tuo ultimo passaggio nell'utilizzo della funzione Live Upgrade di NCache per aggiornare il tuo cluster di cache esistente.

Passaggio 6: migrare tutti i client cache nel nuovo cluster

Ora è necessario migrare i restanti client connessi alla vecchia versione al cluster di cache della nuova versione. Dopo che tutti i tuoi client sono stati migrati con successo, puoi iniziare a eseguire la tua applicazione su di essi.

Usa i vecchi client con il nuovo cluster di cache

Nel caso in cui non si desideri aggiornare i client della cache, NCache consente ai client di versioni precedenti di funzionare senza problemi con un cluster di cache di versione più recente. Quindi, spetta a te decidere se aggiornare i tuoi client o mantenere la versione precedente. NCache client sui server delle applicazioni o sui server Web (NCache client remoti). La tua applicazione funzionerà perfettamente anche se tutti i tuoi server cache sono stati aggiornati alla versione più recente. Tutto questo è possibile perché NCache fornisce retrocompatibilità per i clienti.

Usa il nuovo client cache con l'API di compatibilità con le versioni precedenti

Si consiglia di aggiornare il NCache software client sulla tua applicazione e sui server web, perché il client più recente potrebbe essere fornito con tutte le correzioni di bug richieste. Questo processo è estremamente semplice e intuitivo. Questo perché la versione più recente del client è retrocompatibile con la versione precedente. Questa compatibilità consente alla tua applicazione di funzionare con il client più recente senza notare alcuna modifica. Il vantaggio principale dell'utilizzo degli aggiornamenti live nella tua applicazione è che non richiedono alcuna modifica al codice o ricompilazione. Devi solo aggiornare la versione del client. NCache software client e il resto verrà fatto automaticamente.

Per ottenere istruzioni dettagliate passo dopo passo su come utilizzare la funzione Live Upgrade per aggiornare il tuo NCache cluster, segui la nostra documentazione su Aggiornamento dal vivo NCache Versione.

Cosa fare dopo?

Domande frequenti (FAQ)

NCache Raggiunge il 100% di uptime utilizzando una topologia temporanea di tipo bridge attivo-passivo. Questa funge da livello di sincronizzazione che replica i dati in tempo reale dal cluster "Source" (vecchia versione) a quello "Target" (nuova versione), mentre entrambi continuano a funzionare.

No, non richiede alcuna modifica al codice o ricompilazione. Questo è possibile perché NCache garantisce la compatibilità con le versioni precedenti per i client, consentendo alla tua applicazione di funzionare senza problemi con le versioni più recenti del server senza notare alcuna modifica.

Sì, puoi mantenere la versione precedente NCache client sulla tua applicazione o sui server web. NCacheLa compatibilità con le versioni precedenti integrata garantisce che la tua applicazione funzionerà perfettamente anche se tutti i tuoi server cache sono stati aggiornati alla versione più recente.

Il Bridge funge da collegamento critico per il trasferimento dati tra due cluster separati. Consente di migrare in modo incrementale dati e connessioni client dal vecchio ambiente "Blue" al nuovo ambiente "Green" senza perdita di dati o interruzioni.

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.