Sincronizza le cache in Bridge - Replica geografica
I NCache il cluster di cache distribuita in memoria è auto-guarigione, dinamico e altamente scalabile. Puoi aggiungere o rimuovere server cache in fase di runtime, senza tempi di inattività dell'applicazione. IL NCache il cluster fornisce scalabilità lineare in termini di gestione dell'elaborazione e dei dati delle richieste delle applicazioni. Quando il cluster della cache raggiunge i limiti di picco, puoi aggiungere più server redisomaggio alle richieste e ai carichi di dati.
Se un server cache non funziona, il cluster di cache rileva automaticamente il guasto del server e si adegua di conseguenza. Consideriamo il caso in cui un server cache non funziona più nel file Partizione-Replica topologia, il cluster di cache riorganizza automaticamente le partizioni ei dati. I restanti server cache copiano i dati rimanenti del server che è andato inattivo dal suo server di backup.
Ogni cache in cluster dispone di un cluster dedicato basato su TCP. Le applicazioni comunicano con il cluster di cache tramite TCP. Pertanto, se il processo di applicazione si interrompe, ciò non influisce sul cluster di cache. Ogni cluster di cache richiede una porta TCP separata al momento della configurazione di una cache in cluster. IL Partizione-Replica la topologia occupa una porta TCP aggiuntiva per la replica.
I Architettura peer-to-peer consente a ogni server di cache di stabilire una connessione TCP con ogni altro server di cache. Ciò consente ai server cache di comunicare direttamente tra loro quando necessario o di trasmettere le richieste in altri momenti. Il cluster di cache e l'architettura multi-thread consentono di eseguire operazioni in parallelo, raccogliendo così i vantaggi del potente hardware di oggi.
Puoi configurare il timeout della richiesta per il cluster di cache al momento della configurazione del cluster di cache. Il timeout predefinito della richiesta è 60 secondi.
Note:
Questa funzionalità è disponibile anche in NCache Professional.
Note:
Le porte del cluster assegnate al cluster di cache devono essere disponibili su tutti i server di cache configurati. Allo stesso modo, il firewall dovrebbe essere configurato per consentire la comunicazione tra i server cache su determinate porte del cluster. Il cluster predefinito intervallo di porte inizia da 7800.
Coordinatore del cluster in una cache distribuita in memoria
In un ambiente distribuito, il coordinamento di diversi compiti è inevitabile. Nel cluster di cache, il server coordinatore svolge questo ruolo fondamentale. Ogni cluster di cache ha un server cache coordinatore.
La selezione del server coordinatore in NCache è semplice. Il server cache più anziano assume il ruolo del server coordinatore. Quindi, il server cache che è entrato a far parte del cluster per primo diventa il server coordinatore. Se un server di cache del coordinatore lascia il cluster di cache grazia o all'improvviso, il successivo server cache più anziano diventa il coordinatore.
Il server della cache del coordinatore è responsabile di quanto segue:
Appartenenza al cluster: Il server coordinatore è responsabile dell'accettazione delle richieste di adesione dei nuovi server cache. Trasmette inoltre l'elenco aggiornato dei membri al resto dei server. Allo stesso modo, quando un server lascia il cluster, il server coordinatore notifica agli altri server il cambiamento di appartenenza.
Generazione della mappa di distribuzione: Il server coordinatore genera la mappa di distribuzione e gestisce le repliche ogni volta che un server si unisce o lascia il cluster di cache nel Partitioned ed Partizione-Replica topologie.
Richiedi l'ordine: Aggiunta ed aggiornamento di dati nel Topologia replicata richiede che le operazioni su tutti i server cache vengano eseguite nello stesso ordine per ottenere la coerenza dei dati. Queste operazioni prendono i token di sequenza dal server coordinatore e l'esecuzione delle operazioni avviene in base a questi token di sequenza. Questo meccanismo garantisce che gli stessi aggiornamenti a fronte di un dato
CacheItem
vengono applicati all'intero cluster.Caricatore di dati della cache e gestione dell'aggiornamento: Caricatore di avvio della cache e aggiornamento le attività vengono eseguite sul server coordinatore. Quando multiplo suggerimenti per la distribuzione vengono specificati per il caricatore di avvio o l'aggiornamento della cache, il coordinatore assegna questi suggerimenti a diversi membri del cluster per il caricamento e l'aggiornamento parallelo.
Invalidazione ed eliminazione dei dati: Ogni server cache in replicato ed Specchio topologie contiene lo stesso insieme di dati. Pertanto, il server coordinatore è responsabile dell'invalidazione dei dati (Scadenze ed dipendenze) nell'intero cluster. Il server coordinatore determina quali elementi devono essere scaduto or sfratto dalla cache e rimuove tali elementi dall'intero cluster tramite una chiamata al cluster.
Come i server si uniscono e lasciano il cluster di cache in una cache distribuita in memoria
Di seguito è riportato il processo mediante il quale i nodi del server si uniscono e lasciano il cluster di cache:
Scoperta dei membri e unione del server
Quando si avvia la cache sul primo server di cache, forma il cluster di cache. Un processo di rilevamento dei membri viene eseguito su ogni server cache all'avvio della cache. Nel processo di rilevamento, il server della cache tenta di stabilire una connessione TCP con gli altri membri della cache sul porta del cluster configurata.
Quando il primo server di cache si avvia e non riesce a stabilire una connessione con gli altri server di cache nel cluster di cache, conclude che nessun altro server di cache è attivo. Questo server diventa quindi il primo membro e il server coordinatore del cluster di cache. Non appena gli altri server si avviano, eseguono lo stesso processo di rilevamento e stabiliscono connessioni con i server cache in esecuzione.
Questi server di cache cercano informazioni sul server coordinatore del cluster di cache dai server di cache già in esecuzione. Una volta concluso il processo di rilevamento e determinato il server coordinatore, i server cache appena aggiunti inviano richieste di collegamento al coordinatore.
Il coordinatore accetta le richieste di join, genera la mappa di distribuzione (solo nel file Partitioned ed Partizione-Replica topologie) e trasmette il nuovo elenco di appartenenza all'intero cluster di cache.
Congedo grazioso del server
Quando si fermare la cache su un server cache tramite il file NCache Centro di gestione or Strumenti di PowerShell, il server della cache in uscita informa il coordinatore inviando una richiesta di congedo. Il coordinatore elabora immediatamente la richiesta di ferie, genera mappe di distribuzione e trasmette la nuova lista di membri all'intero cluster. Pertanto, il cluster si adatta rapidamente alle nuove mappe di distribuzione.
Errore improvviso del server
Ci sono casi in cui un server cache può interrompersi bruscamente senza informare il coordinatore, ad esempio un'interruzione di corrente. Quando un server cache si interrompe improvvisamente, le connessioni TCP si interrompono tra il server in uscita e gli altri server cache. Tentano di ristabilire la connessione TCP per un numero configurabile di tentativi con il server in uscita. Questo meccanismo aiuta il ripristino da errori temporanei di connessione e impedisce la dichiarazione di morte errata di un server.
Una volta terminati i tentativi di connessione, il server di cache specificato conclude la morte del server che ha abbandonato improvvisamente. Alla conclusione della morte, i server di cache informano il coordinatore. Sebbene il coordinatore possa aver già scoperto la morte di un server di cache, le informazioni fornite da altri server di cache determinano un rapido aggiustamento dell'appartenenza nel caso in cui il coordinatore scopra la morte del server.
In ogni caso, il coordinatore genera le nuove mappe di distribuzione e trasmette il nuovo elenco di membri ai server cache esistenti.
Battito cardiaco
Il rilevamento di una connessione TCP interrotta dipende dal traffico che attraversa la connessione. Ad esempio, se il cluster di cache è occupato e invia richieste su diversi server di cache, l'interruzione della connessione viene rilevata tempestivamente. Tuttavia, se l'attività del cluster di cache è molto bassa, il rilevamento dell'interruzione della connessione TCP potrebbe richiedere più tempo.
Per evitare questo problema, il NCache cluster ha un built-in meccanismo del battito cardiaco che può essere abilitato. Quando il cluster è in stato di inattività, battito cardiaco i messaggi vengono periodicamente scambiati tra i server. Quindi, il meccanismo del battito cardiaco genera traffico tra i server cache e aiuta il rilevamento precoce della morte di server che lasciano improvvisamente.
Noioso
NCache cluster supporta l'esecuzione parallela di più richieste. Il termine brontolando si riferisce alla combinazione di più richieste in una singola prima di inviarle tramite la connessione TCP. Ciò aumenta la velocità effettiva del cluster. Puoi configurare brontolando e la sua soglia attraverso il file di configurazione del servizio.
Avvisi di modifica dell'appartenenza al cluster
Il cambiamento nell'appartenenza al cluster è un'attività importante. Così, NCache fornisce più meccanismi per notificare agli amministratori della cache e alle applicazioni le modifiche all'appartenenza.
Registri della cache: Registri della cache sono il primo posto in cui cercare le modifiche all'appartenenza per gli amministratori della cache.
Visualizzatore eventi: I membri si uniscono e le notifiche di uscita sono effettuato l'accesso al visualizzatore di eventi Su Windows.
Avvisi e-mail: Puoi configurare gli avvisi e-mail di server che si uniscono e lasciano eventi per una determinata cache. Ogni volta che avviene una modifica dell'iscrizione, viene generata un'e-mail e inviata ai destinatari e-mail registrati.
Notifiche a livello di applicazione: Le applicazioni client possono anche registro notifiche richiamata sulle modifiche all'appartenenza al cluster. Questi callback vengono chiamati ogni volta che si verifica una modifica dell'appartenenza al cluster.
Vedere anche
Topologie della cache
Cache locale
Cliente di cache
Cache cliente
Bridge per la replica WAN