Topologia della cache mirror
In una topologia con mirroring, un cluster di cache non può avere più di due nodi. Alla volta, solo uno dei due nodi funziona come nodo attivo, mentre l'altro funge da nodo passivo. Il nodo passivo, noto anche come nodo di backup, mitiga un singolo punto di errore. Quando il nodo attivo si interrompe, il nodo passivo assume il ruolo di nodo attivo e ciò garantisce che non esista un singolo punto di guasto in questa topologia. Sia le operazioni di lettura che quelle di scrittura vengono eseguite sul nodo attivo, quindi le scritture vengono replicate in modo asincrono sul backup o sul nodo passivo. Tuttavia, il grado di replica in questa topologia è limitato a un nodo, a differenza della topologia replicata, dove possiamo avere più repliche.
Note:
Questa funzionalità è disponibile anche in NCache Professional.
I cluster di cache con mirroring sono adatti per la memorizzazione nella cache di piccole quantità di dati in cui non è previsto un aumento del carico dell'utente. La topologia non è scalabile per operazioni di lettura o scrittura poiché tutte le operazioni client vengono eseguite solo sul nodo attivo del cluster. Tuttavia, la topologia fornisce una sorta di disponibilità elevata tramite la replica nel nodo di backup. Quando il nodo attivo lascia il cluster, il nodo passivo assume automaticamente il ruolo di nodo attivo e tutte le applicazioni client iniziano a comunicare con questo nuovo nodo attivo.
Selezione del nodo attivo nella cache con mirroring
Il nodo più anziano del cluster è considerato il nodo attivo del cluster. Puoi anche scegliere il nodo attivo quando il cluster è fermo o in esecuzione, ma se modifichi il nodo attivo di un cluster in esecuzione, devi riavviare il cluster per rendere effettive le modifiche. Una volta che il nodo attivo lascia il cluster, il nodo passivo corrispondente diventa automaticamente il nodo attivo. Quando il nodo precedentemente attivo torna online, si unisce al cluster come nodo passivo.
Replica asincrona
Il client si connette direttamente solo con il nodo attivo del cluster, mentre il secondo nodo (nodo passivo) del cluster ha un backup del nodo attivo. Il nodo attivo del cluster è responsabile del mantenimento del backup sul nodo passivo. Tutte le operazioni di scrittura sul nodo attivo si replicano attraverso la coda in background sul nodo passivo. Ogni operazione di scrittura viene accodata e i thread in background dedicati raccolgono i dati da questa coda in blocchi e li replicano sul nodo passivo. Il client riceve una risposta delle operazioni di scrittura subito dopo che sono state eseguite con successo sul nodo attivo. L'operazione viene accodata e replicata successivamente sul nodo passivo.
Note:
È opportuno notare che l'applicazione client non subirà alcun degrado delle prestazioni mentre le operazioni vengono replicate in modo asincrono dal nodo attivo a quello passivo.
Poiché la replica dei dati avviene in modo asincrono, esiste la possibilità di perdita di dati. Se il nodo attivo si interrompe senza replicare le operazioni in coda, si verifica una perdita di dati.
Ruolo del Coordinatore Server
Il nodo del server attivo del cluster di cache funge da server coordinatore. Il server coordinatore è responsabile dell'esecuzione di molteplici attività come trasferimento di stato, operazioni di scrittura dietro, invalidazioni dei dati (scadenze e dipendenze), ecc. Dopo aver deciso di rimuovere uno qualsiasi degli elementi dalla cache, chiede all'altro nodo (nodo passivo) per rimuoverli anche dal suo archivio cache. Quando il server coordinatore (nodo attivo) lascia il cluster di cache, il nodo passivo diventa il server coordinatore e assume le proprie responsabilità.
Connettività client
Nella topologia con mirroring, il client si connette solo al nodo attivo del cluster. Ciò significa che le connessioni client sono bloccate sul nodo passivo del cluster. Il client non ha bisogno di stabilire una connessione con entrambi i nodi (attivo e passivo) del cluster poiché contengono gli stessi dati. Come affermato in precedenza, quando il nodo attivo non funziona, il nodo passivo diventa automaticamente il nodo attivo e il client stabilisce automaticamente una connessione con esso.
Trasferimento di Stato
Il trasferimento di stato viene attivato quando il secondo nodo si unisce al cluster di cache nella topologia con mirroring. In questo caso, il server coordinatore (nodo attivo) sincronizza i suoi dati con il secondo nodo (passivo).
Vedere anche
Topologie partizionate
Topologia replicata
Cluster di cache
Cache locale