Modalità di manutenzione
NCache supporta la modalità di manutenzione per Partizione-Replica topology, che è la topologia di memorizzazione nella cache più comunemente utilizzata.
È stata introdotta la modalità di manutenzione per consentire l'applicazione di patch o l'aggiornamento di hardware/software sui server di memorizzazione nella cache. Un tipico flusso di lavoro di aggiornamento prevede l'arresto di un nodo della cache alla volta, l'aggiornamento del server e il riavvio della cache su di esso. Questa procedura di aggiornamento evita i tempi di inattività dell'applicazione. Tuttavia, l'arresto di un nodo della cache attiva il trasferimento dello stato all'interno dell'intero cluster della cache, con conseguente utilizzo eccessivo di risorse come rete e CPU.
NCache la modalità di manutenzione risolve questo problema interrompendo il trasferimento di stato se un nodo deve essere arrestato temporaneamente per manutenzione. Una volta che un nodo viene arrestato specificatamente per manutenzione, informa il cluster di cache in esecuzione di interrompere il trasferimento dello stato per un determinato periodo di timeout. Quando un cluster è in modalità di manutenzione, le richieste di dati del client per il nodo arrestato vengono servite dal relativo nodo di replica. Una volta che il nodo arrestato si ricongiunge al cluster, trasferisce i dati dal relativo nodo di replica.
Come funziona la modalità di manutenzione
Considera un cluster di tre nodi come mostrato di seguito. Se il nodo 3 è contrassegnato per la manutenzione, il trasferimento dello stato viene interrotto per un timeout specifico mentre tutte le operazioni vengono eseguite dalla sua replica sul nodo 1. Durante il periodo di manutenzione, la replica del nodo di manutenzione funge da partizione attiva. Ciò avviene senza che alcun client intervenga e garantisce che le operazioni del client funzionino senza intoppi, anche se un nodo viene arrestato per manutenzione.
Timeout e trasferimento di stato
Il timeout, configurato dall'utente, funge da periodo di attesa per il thread di trasferimento dello stato. Questo thread attende che il cluster esca dalla modalità di manutenzione ricongiungendosi al nodo o non collegandosi. Ci sono due risultati in questo caso:
Il nodo 3 non si unisce nuovamente al cluster entro il timeout:
In questo caso, verrà avviata l'attività di trasferimento di stato tra i restanti nodi (Nodo 1 e Nodo 2) che riprenderanno il loro stato normale.
Si noti che se in questo caso il nodo 2 lascia improvvisamente il cluster, potrebbe verificarsi una perdita di dati poiché la sua replica esisteva sul nodo 3.
Il nodo 3 si unisce nuovamente al cluster entro il timeout:
Se il nodo 3 si unisce nuovamente entro il periodo di timeout, verrà avviato il trasferimento di stato per ripristinare lo stato originale del cluster. Questo trasferimento di stato ora consiste in due fasi:
- Nodo 1 (replica del Nodo 3) --> Nodo 3 (partizione attiva del Nodo 3)
- Nodo 2 (partizione attiva del Nodo 2) --> Nodo 3 (replica del Nodo 2)
Comportamento
Sono necessari almeno 2 nodi per contrassegnare un cluster per la manutenzione.
Se un cluster è stato contrassegnato per la manutenzione, nessun nodo può essere aggiunto o rimosso dal cluster tramite il file NCache Centro di gestione o strumenti.
Se un cluster è stato contrassegnato per la manutenzione, non è possibile avviare nessun altro nodo tranne quello che è stato arrestato per manutenzione. Supponiamo che il Nodo 3 sia già stato arrestato e il Nodo 2 sia stato contrassegnato per la manutenzione, è possibile avviare solo il Nodo 2.
All'arresto/avvio di un nodo che non è stato arrestato per manutenzione, verrà lanciata l'eccezione: "Il cluster è già in manutenzione".
Se il trasferimento dello stato è già in corso per nodo attivo o non attivo, non è possibile contrassegnare un cluster per la manutenzione. Verrà generata la seguente eccezione: "Il cluster non è disponibile per la manutenzione, il trasferimento di stato o la modifica dello stato del cluster in corso."
Gli utenti possono verificare se un cluster è in trasferimento di stato o meno tramite i contatori di trasferimento di stato o esaminando i file di registro della cache
%NCHOME%/log-files
(Windows) o\opt\ncache\log-files
(Linux). "Il trasferimento dello stato è stato completato" verrà registrato nei file di registro.Dopo che un cluster è stato contrassegnato per la manutenzione, i registri della cache hanno il registro di "Cluster contrassegnato in manutenzione del nodo: [IP]:[Porta] per xx:xx:xx {HH:MM:SS)."
Un cluster può uscire dalla modalità di manutenzione nei seguenti scenari:
- Il nodo contrassegnato per la manutenzione riparte.
- Si verifica il timeout per la modalità di manutenzione.
- L'opzione "Esci dalla modalità di manutenzione" viene selezionata tramite NCache Centro di gestione.
- Un nodo lascia il cluster all'improvviso.
Una volta che il cluster esce dalla modalità di manutenzione, viene avviato il trasferimento dello stato.
Vedere anche
Arresta nodo per manutenzione
Uscire dalla modalità di manutenzione