• Facebook
  • Twitter
  • Youtube
  • Allineato
  • RSS
  • Docs
  • Confronti
  • Blog
  • Scaricare
  • Contattaci
Scaricare
Mostra/Nascondi sommario

Notifiche di eventi nella cache: una panoramica

In un paradigma di caching distribuito, potrebbe essere necessario che le applicazioni client vengano informate delle varie operazioni che si verificano nella cache. NCache genera più tipi di eventi e le applicazioni possono registrarsi solo per gli eventi a cui sono interessate. Quando si registrano per notifiche specifiche sui dati, i clienti possono anche specificare un EventDataFilter per controllare la quantità di informazioni (ad esempio, solo chiavi, metadati o dati completi con metadati) restituite con ogni notifica. Una volta registrata, NCache invia notifiche ai client iscritti ogni volta che i dati della cache vengono modificati o cambiano lo stato del cluster e le operazioni di gestione.

Ecco alcuni punti chiave relativi agli eventi nella cache:

  • Un evento viene generato solo se un'applicazione client è stata registrata per esso.
  • Gli eventi vengono pubblicati solo per i clienti abbonati.
  • La cache determina quando viene generato un evento, mentre il client determina come rispondere.
  • Un client può registrarsi per più eventi e può anche gestire più eventi da più cache.
Note:

Un'applicazione non sarà in grado di ricevere eventi a meno che non si registri nella cache utilizzando la chiamata API di registrazione eventi specifica.

Importanza delle notifiche degli eventi

Molte applicazioni oggi devono condividere i dati in modo asincrono tra loro in fase di esecuzione per mantenerne l'integrità. Devono inoltre aggiornare lo stato dei dati o sincronizzare lo snapshot dei dati con lo stato lato server. Per raggiungere questo obiettivo, un'applicazione necessita di un meccanismo per monitorare lo stato dei dati con il server. Le notifiche degli eventi forniscono questo meccanismo, avvisando l'applicazione client ogni volta che i dati vengono modificati nella cache.

Pertanto, gli eventi consentono la condivisione dei dati in fase di esecuzione tra applicazioni separate o tra diversi moduli della stessa applicazione. Inoltre, quando DataWithMetadata si usa, NCache è possibile includere i dati memorizzati nella cache con la notifica dell'evento, eliminando la necessità di una richiesta di recupero separata per quell'elemento.

Eventi in NCache

Gli eventi possono essere generati per attività a livello di cache specifiche per dati o operazioni di gestione. Qui classifichiamo gli eventi e discutiamo i dettagli rilevanti.

Eventi specifici dei dati

Come indica il nome, questi eventi vengono attivati ​​quando i dati nella cache vengono modificati a causa di aggiungere, update, o rimuovere operazioni. Oltre a queste operazioni CRUD di base, vengono attivati ​​anche eventi specifici dei dati quando i dati vengono aggiunti, aggiornati o rimossi nella cache a causa di Caricatore/aggiornamento di avvio della cache and Fonte di supporto.

Per registrare questi eventi per la notifica, il MessagingService.RegisterCacheNotification viene utilizzato il metodo. Allo stesso modo, le notifiche specifiche dei dati possono essere facilmente annullate se non più necessarie, utilizzando il file MessagingService.UnRegisterCacheNotification metodo.

È necessario specificare l'appropriato EventType durante la registrazione per eventi specifici dei dati utilizzando Tipo di evento enum. Le seguenti notifiche possono essere attivate in base alla registrazione EventType:

  • Aggiungi notifica: La notifica di aggiunta viene attivata quando il file ItemAdded il tipo di evento viene registrato e un nuovo elemento viene aggiunto alla cache.

  • Notifica di aggiornamento: La notifica di aggiornamento viene attivata quando ItemUpdated il tipo di evento viene registrato e un elemento esistente viene aggiornato nella cache.

  • Rimuovi notifica: La notifica di rimozione viene attivata quando il file ItemRemoved il tipo di evento viene registrato e un elemento viene rimosso dalla cache.

È inoltre possibile controllare le informazioni restituite durante l'esecuzione di un evento utilizzando EventDataFilter che viene ulteriormente discusso nel Filtri per eventi sezione. Gli eventi specifici dei dati possono essere ulteriormente categorizzati come segue:

Eventi a livello di cache

Migliori Eventi a livello di cache sono eventi generali per la cache che vengono attivati ​​all'esecuzione di Aggiungi, Aggiornanento, o Rimuovere Operazioni sui dati della cache. Lo scopo è quello di notificare ai diversi client ogni operazione eseguita sulla cache. Per impostazione predefinita, gli eventi a livello di cache sono disabilitati (ad eccezione dell'operazione di cancellazione della cache) per qualsiasi configurazione della cache e devono essere abilitati affinché gli eventi vengano pubblicati tramite NCache Centro di gestione.

Avvertenza

Gli eventi a livello di cache potrebbero ridurre le prestazioni dell'applicazione quando vengono registrate notifiche per tutte le operazioni sull'intero set di dati della cache.

Eventi a livello di oggetto

Migliori Eventi a livello di oggetto Sono utili quando si desidera essere informati su un insieme limitato di dati anziché per ogni operazione eseguita sull'intera cache. Ad esempio, se la cache contiene una grande quantità di dati e l'applicazione viene notificata ogni volta che si verifica una modifica nel set di dati, ciò causa un sovraccarico e influisce negativamente sulle prestazioni dell'applicazione.

Note:

Per ottenere prestazioni migliori, è possibile registrare le notifiche solo per il set di dati di interesse.

La cache sarà responsabile del monitoraggio delle modifiche alle chiavi specificate. Poiché il set di dati selezionato esiste già nella cache, Eventi a livello di oggetto Vengono attivati ​​solo per le operazioni di aggiornamento o rimozione. Le applicazioni registrano metodi di callback per chiavi specifiche nella cache tramite chiamate API e vengono avvisate ogni volta che tali chiavi vengono aggiornate o rimosse dalla cache. Queste notifiche vengono inviate in modo asincrono al client, garantendo che non vi sia alcun sovraccarico aggiuntivo sulle operazioni del client.

Note:

Poiché Eventi a livello di oggetto sono registrati per il dataset già presente nella cache, pertanto non è possibile ricevere la notifica di aggiunta.

Eventi a livello di gestione

Migliori Eventi a livello di gestione sono utili quando si desidera essere avvisati di qualsiasi operazione di gestione eseguita sul cluster di cache utilizzando Servizio di notifica interfaccia. Questi eventi possono aiutare a verificare se le operazioni sulla cache procedono come previsto. Ad esempio, si consideri un'applicazione client multithread in cui un thread è dedicato all'inserimento di elementi a una velocità costante. Se la cache viene arrestata durante l'inserimento, NCache il cliente lancerà OperationFailedExceptionPer evitare che venga generata l'eccezione, il thread deve intraprendere l'azione appropriata quando la cache si arresta. Questo può essere facilmente ottenuto registrando un evento per l'azione di arresto della cache.

Questo esempio si applica anche alle notifiche di cancellazione della cache. Se un thread dell'applicazione client esegue una convalida durante la cancellazione della cache, tali convalide falliranno a meno che l'applicazione non tenga conto di un evento di cancellazione della cache. Le seguenti notifiche vengono attivate quando vengono eseguite operazioni di gestione sulla cache:

  • Notifica di cancellazione della cache: La notifica di svuotamento della cache viene attivata quando la cache viene svuotata.

  • Notifica cache interrotta: La notifica di arresto della cache viene attivata quando la cache viene arrestata. Se un'applicazione continua a eseguire operazioni senza essere a conoscenza dell'arresto della cache, tali operazioni genereranno eccezioni.

  • Notifica di adesione al membro: La notifica di adesione di un membro viene attivata quando un nuovo nodo si unisce al cluster di cache. Un amministratore di cache o qualsiasi utente che monitori lo stato del cluster può utilizzare questo evento per automatizzare le attività relative alla gestione del cluster. Pertanto, quando un membro si unisce al cluster, l'evento deve essere gestito per garantire che le attività automatizzate continuino senza interruzioni.

  • Notifica di sinistra del membro: La notifica di abbandono del membro viene attivata quando un membro lascia il cluster.

Eventi di attività del cliente

Gli eventi di attività del client notificano alle applicazioni quando i client si connettono o si disconnettono dalla cache. Qualsiasi client connesso a una cache in cluster può iscriversi a questi eventi per ricevere notifiche sulla connessione o disconnessione di altri client.

È anche possibile specificare un Periodo di Conservazione, ovvero il periodo di tempo trascorso il quale un client disconnesso viene considerato disconnesso e viene attivato l'evento di disconnessione. Se un client si riconnette entro questo periodo di conservazione, l'evento di disconnessione non viene attivato.

Questa funzione aiuta a compensare le disconnessioni accidentali o brevi causate da reti instabili, poiché NCache Il client si riconnette automaticamente senza interrompere le operazioni. Nota che questo non si applica ai client che si disconnettono e si reinizializzano manualmente. È necessario abilitare le notifiche di attività del client nella NCache Centro di gestione prima che possano essere utilizzati.

Filtri dei dati degli eventi

NCache fornisce il EventDataFilter per controllare la quantità di informazioni restituite all'esecuzione di eventi specifici dei dati. I tipi di filtri di eventi sono spiegati di seguito.

Avvertenza

Il filtro dei dati degli eventi deve essere impostato con attenzione per evitare un consumo non necessario di larghezza di banda della rete.

Nona

Questo filtro restituisce solo le chiavi interessate da un'operazione nella notifica dell'evento. È utile quando l'applicazione ha bisogno di sapere quali chiavi sono state modificate ma non necessita dei valori associati. Ad esempio, un sito di e-commerce potrebbe voler tenere traccia delle chiavi prodotto aggiunte senza dover recuperare i dettagli del prodotto stesso.

Metadati

Con questo filtro, le chiavi interessate insieme ai relativi metadati vengono restituite nella notifica dell'evento. I metadati restituiti includono il di gruppo, priorità degli elementi della cache, scadenza, CacheItemVersion, Opzioni di risincronizzazione, CacheItemRimosso Motivoe Tipo di voce. Queste informazioni potrebbero essere richieste dall'utente. Ad esempio, quando un'applicazione vuole sapere quali chiavi sono state rimosse dalla cache e a quali gruppi appartenevano.

Dati con metadati

Questo filtro restituisce le chiavi insieme agli elementi memorizzati nella cache e ai relativi metadati. È utile quando un'applicazione deve elaborare autonomamente i dati modificati. Ad esempio, un'applicazione bancaria potrebbe aver bisogno di sapere quali informazioni sui clienti sono cambiate. Registrandosi per ricevere una notifica di aggiornamento degli elementi con questo filtro, l'applicazione riceve sia la chiave dell'elemento che l'elemento aggiornato quando l'evento viene attivato.

Usando il DataWithMetadata il filtro salva un viaggio quando recupera nuovamente gli elementi con il Ottieni API. Tuttavia, dovrebbe essere utilizzata solo quando necessario, poiché la restituzione di grandi quantità di dati può aumentare il sovraccarico della rete.

Avvertenza

In caso di disconnessione del client, gli eventi non vengono registrati durante l'intervallo di tempo di disconnessione del client.

Topologia Comportamento saggio

Le notifiche degli eventi vengono attivate in base alla topologia della cache utilizzata. Il comportamento topologico per le notifiche degli eventi è descritto come segue:

  • Topologia replicata: Nella topologia replicata, il nodo del cluster connesso al client è responsabile dell'invio delle notifiche degli eventi.

  • Topologia di replica delle partizioni: Nella topologia Partition-Replica, gli eventi vengono generati dai nodi attivi. Il nodo che memorizza i dati basati su criteri è responsabile della generazione delle notifiche degli eventi corrispondenti.

  • Topologia partizionata: Nella topologia partizionata, gli eventi vengono generati da tutti i nodi. Il nodo che memorizza i dati basati su criteri è responsabile della generazione delle notifiche degli eventi corrispondenti.

In questa sezione

Eventi a livello di cache
Spiega come utilizzare il meccanismo di notifica per gli eventi che si verificano a livello di cache.

Eventi a livello di oggetto
Spiega come utilizzare il meccanismo di notifica per gli eventi che si verificano a livello di elemento.

Eventi a livello di gestione
Spiega come aggiungere il meccanismo degli eventi a livello di gestione.

Contattaci

PHONE

+1 214-619-2601   (US)

+44 20 7993 8327   (UK)

 
E-MAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • Confronto edizione
  • NCache Architettura
  • Parametri di riferimento
Scaricare
Prezzi
Prova Parco giochi

Distribuzioni
  • Cloud (SaaS e software)
  • On-Locale
  • kubernetes
  • docker
Casi d'uso tecnici
  • Sessioni ASP.NET
  • Sessioni ASP.NET Core
  • Messaggistica Pub/Sub
  • SignalR in tempo reale per ASP.NET
  • Internet of Things (IoT)
  • Database NoSQL
  • Streaming Processing
  • Microservices
Risorse
  • Articoli di riviste
  • Articoli di terze parti
  • Articoli
  • Video
  • Fogli bianchi
  • Spettacoli
  • trattativa
  • Blog
  • Docs
Casi di studio dei clienti
  • Testimonianze
  • Clienti
Assistenza
  • Pianificare un demo
  • Forum (Google Gruppi)
  • Consigli
Azienda
  • Leadership
  • Partner
  • News
  • Eventi
  • Lavora con noi
Contattaci

  • IngleseCinese (semplificato)FranceseTedescoItalianoGiapponeseCoreanoPortogheseCorsi

  • Contattaci
  •  
  • Mappa del sito
  •  
  • Termini d’uso
  •  
  • Informativa privacy
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.
Torna in alto