NCache è una cache distribuita in memoria per.NET/.NET Core, Java, Python, NodeJS e Scala, è estremamente veloce e scalabile. Viene utilizzato in ambienti di produzione per applicazioni mission-critical, molte delle quali sono anche interattive per l'utente. In tali applicazioni, l'elevata disponibilità è cruciale. E attraverso una varietà di funzioni, NCache fa un ottimo lavoro nel soddisfare queste esigenze.
Una di queste funzionalità è Live Upgrade, che consente di eseguire l'aggiornamento NCache a una versione più recente senza causare alcuna interruzione all'applicazione tramite a Ponte. NCache fornisce un Topologia bridge per la replica WAN che funge da ponte tra due cluster di cache che mantengono la versione più recente del tuo cluster. Tuttavia, la funzione Live Upgrade è disponibile solo per NCache Enterprise Edizione.
Perché aggiornare a NCache versioni più recenti
Se stai utilizzando una versione precedente di NCache, ti consigliamo vivamente di eseguire l'upgrade all'ultima versione per sfruttare tutti i vantaggi di tutte le funzionalità e i miglioramenti più recenti. Per vedere tutti i dettagli di queste funzionalità e miglioramenti apportati da NCache 5.3 SP1, puoi leggere il file note di rilascio of NCache 5.3SP1.
Aggiornamento in tempo reale di NCache con perdita di dati trascurabile
Il tempo necessario per aggiornare manualmente il software si riduce notevolmente tramite l'aggiornamento in tempo reale. Puoi usare il Aggiornamento dal vivo per clonare i dati dalla cache attualmente operativa (nota come cache di origine) alla cache più recente (cache di destinazione) mentre le cache sono ancora in esecuzione.
A causa della natura asincrona della replica dei dati, tutti i client connessi alla cache di origine percepiscono l'attività sulla cache di origine, anche se viene eseguita senza problemi una copia completa nella cache di destinazione. La configurazione della cache di origine, nel frattempo, continua a funzionare in modo impeccabile e non è influenzata dalla modifica.
La figura mostrata sopra mostra un cluster a 4 nodi con una versione precedente di NCache installato. Innanzitutto, interrompi i nodi 3 e 4 e installi l'ultimo NCache versione su questi nodi. Successivamente, crea una cache a 2 nodi sul nuovo NCache versione della macchina installata (nodi 3 e 4). A questo punto, abbiamo in totale due cache composte da 2 nodi ciascuna. Chiamiamole una cache di origine (vecchio NCache versione cache installata) e cache di destinazione (appena NCache versione cache installata). Quindi, è necessario creare un ponte tra queste due cache per trasferire i dati dalla cache di origine alla cache di destinazione. Arrestare i nodi della cache di origine e installare l'ultimo NCache versione su di esso. Successivamente, aggiungi i nodi 1 e 2 alla cache di destinazione per renderlo un cluster a 4 nodi.
Idealmente, è meglio avere un cluster a 4 nodi, in modo da poter dividere i dati tra i due nodi del server. La divisione dei nodi del cluster si basa sul fatto che questa divisione non causa in alcun modo la perdita di dati. Qualunque sia la divisione del cluster che scegli, dovrebbe essere in grado di contenere dati uguali nel suo cluster diviso. Se disponi di un cluster a 2 nodi, non è consigliabile suddividerli. Disponi invece di un cluster temporaneo a 2 nodi con la versione più recente di NCache installato. Una volta che i 2 nodi esistenti si uniscono al nuovo cluster, puoi rimuovere questi nodi temporanei.
Come eseguire l'aggiornamento a NCache Versione live
Ad esempio, abbiamo un cluster a 4 nodi come spiegato nel diagramma nella sezione precedente. Estrarre due nodi (3 e 4) e installare l'ultima versione di NCache su di essi (cache di destinazione). Gli altri due nodi (1 e 2) hanno una vecchia versione NCache installato (cache sorgente). Entrambe le cache sono identiche in termini di nome e configurazione. Questa è una configurazione attivo-passivo.
-
- Crea un nuovo ponte tra questi due cluster come spiegato sul Crea ponte .
- Nel … tag di bridge.ncconf sul nodo bridge, aggiungi manualmente la cache di destinazione come segue:
1234567891011<configuration><bridge-config … ><cache cache-id="demoCache.WestCoast" status="active" servers-list="20.200.20.43" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/><cache cache-id="demoCache.EastCoast" status="active" servers-list="20.200.20.40" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/></bridge-config></configuration> - Dopo la modifica di bridge.ncconf, riavviare il servizio bridge usando il seguente cmdlet di PowerShell.
1Restart-Service NBridgeSvc - Fornire la cache di origine e la cache di destinazione come input per il comando Start-BridgeStateTransfer di PowerShell per iniziare il trasferimento dello stato.
12Start-BridgeStateTransfer -Server 20.200.20.43 -Name demoBridge -SourceCache demoCache.WestCoast -TargetCachedemoCache.EastCoast - I dati verranno replicati in modo asincrono dal vecchio cluster (attivo) al nuovo cluster (passivo).
- Una volta che le due cache sono completamente sincronizzate, è necessario arrestare i client e riconnetterli con il cluster più recente. Per fare ciò, modificare l'indirizzo IP dei server cache di origine con l'indirizzo IP del server cache di destinazione in client.ncconf di ogni nodo(i) client e riconnettere i client.
- Rimuovi il ponte.
- Dopo che i client sono stati connessi correttamente al cluster più recente, arrestare il cluster precedente e installare su di esso la versione più recente. Aggiungi questi server al cluster di cache con la versione più recente dopo aver aggiornato il file NCache software su tutti i suoi server.
- Unisci i nodi 1 e 2 al cluster più recente uno dopo l'altro.
Conclusione
NCache consente ai suoi utenti aggiornamenti senza soluzione di continuità alle versioni più recenti con una perdita di dati trascurabile. Gli utenti non devono affrontare il problema di passare da uno NCache versione alla successiva, che si tratti dell'aggiornamento live o del offline NCache aggiornamento della versione. Per maggiori dettagli su NCache, Si prega di consultare NCache docs.