Processo host cache separato
In precedenza, il NCache servizio e tutte le istanze della cache erano confinate in un unico processo. Ciò significava che se il processo si arrestava in modo anomalo, il servizio insieme alle cache e alle relative informazioni sulle risorse (memoria, indirizzi, porte) andavano persi.
NCache ora ha fornito maggiore affidabilità dedicando un processo separato al servizio e un processo dedicato a ciascun host della cache.
Note:
Questa funzionalità è disponibile anche in NCache Professional.
Comunicazione del client con la cache
La comunicazione iniziale del client con un host cache è una comunicazione a 2 hop:
Interagisce innanzitutto con il servizio, che connette il client all'host della cache utilizzando il meccanismo di port forwarding.
Quindi comunica con la cache utilizzando il port forwarding. Tutte le future interazioni per il client vengono effettuate direttamente con la cache.
Quando una cache viene avviata nel proprio processo separato, le viene assegnata una porta di gestione su cui il servizio comunicherà con essa. Questa porta viene generata dinamicamente da un intervallo (predefinito 8300 – 8400, configurabile in servizio.exe.config).
Note:
Si noti che in caso della topologia Partition-Replica verranno assegnate due porte.
Una volta che la porta è stata inoltrata, il client invierà tutte le richieste di cache alla cache, come aggiungere elementi alla cache o recuperarli o rimuoverli dalla cache.
Nel caso in cui uno dei processi dell'host della cache si interrompa, le porte utilizzate da quella cache per la comunicazione vengono aggiunte nuovamente al pool di porte disponibili. Ad esempio, se un nodo Partition-Replica utilizzava le porte 8301 e 8302 e il processo termina, le porte diventeranno disponibili per l'utilizzo da qualsiasi altra cache. Ora, quando viene avviato un processo per una nuova cache, la porta 8301 può essere riutilizzata per questa cache.
In precedenza, una volta assegnata una porta alla cache, veniva considerata utilizzata, indipendentemente dallo stato della cache. Ciò significava che l'intervallo delle porte veniva ristretto involontariamente.
Comunicazione del server con la cache
Il server comunica con l'host della cache sulla porta di gestione che viene generata dinamicamente. Tutte le operazioni di gestione vengono convogliate attraverso questo percorso.
E se il servizio si riavvia?
Nel caso in cui il servizio venga riavviato, i processi della cache non andranno persi ma sarà necessario rediscopriranno i loro stati precedenti sorgeranno. Ciò significa che il servizio deve garantire quali cache erano in esecuzione prima che si bloccasse, insieme alle relative credenziali come ID processo, porta e così via. Questo rediscovery, di conseguenza, garantisce che i processi della cache non siano in uno stato zombie.
Ci sono due strumenti utilizzati per rediscopertura:
Servizio Strumentazione gestione Windows (WMI)
Un servizio standardizzato per accedere, consolidare e condividere le informazioni di gestione di dispositivi, applicazioni e server in un ambiente aziendale. Puoi eseguire il file winmgmt.exe strumento o lo strumento della riga di comando WMIC per avere informazioni sul servizio.
Esempio:
wmic PROCESS WHERE (Description=”Alachisoft.NCache.Service.exe”)
Puoi lavorare con più altri comandi usando il Strumento da riga di comando di Strumentazione gestione Windows.
strumento netstat
Questo strumento da riga di comando visualizza le connessioni di rete per le comunicazioni TCP in entrata e in uscita, le tabelle di routing e le statistiche del protocollo di rete. Puoi rediscopri le informazioni perse sulle cache visualizzando le connessioni attive e le porte utilizzate. Qualsiasi porta all'interno dell'intervallo di porte di servizio.exe.config indicherà gli host della cache che utilizzano le porte.
Esempio:
netstat –o
visualizzerà l'indirizzo locale, l'indirizzo estero, lo stato e l'ID processo di ciascuna connessione attiva.
Maggiori dettagli su questo strumento possono essere ottenuti da La pagina Technet di Microsoft.
Vedere anche
Nodo grazioso verso il basso
Clustering dinamico di autoguarigione
Associazione IP con più NIC
Cervello diviso