NCache Caratteristiche

 

Riepilogo delle caratteristiche

Questo è un riassunto di tutto NCache caratteristiche. Si prega di visitare il le pagine dei prodotti. or docs per maggiori dettagli su ciascuna funzionalità.

caratteristica
 
Supporto .NET e Java
- Client di cache: .NET, Java, Node.js, Python
- Edizione .NET: codice lato server (.NET)
- Edizione Java: codice lato server (Java)
- Pacchetti Java Maven
- Pacchetti .NET NuGet
- Pacchetti Node.js e Python
 
Supporto Windows e Linux
- Windows (server cache, client cache)
- Linux (server cache, client cache)
 
Supporto Docker e Kubernetes
- Docker (Linux, Windows)
- Kubernetes (locale)
- Azure Kubernetes Service (AKS)
- Servizio AWS Elastic Kubernetes (EKS)
- Red Hat OpenShift Kubernetes
-Google Kubernetes Engine (GKE)
 
Prestazioni e scalabilità
- Prestazioni della cache Super Fast
- Scalabilità della cache Estremamente scalabile (2 milioni di operazioni/sec, cluster a 5 nodi)
- API per le operazioni in blocco
- API per le operazioni asincrone
- Compressione
- Serializzazione rapida e compatta
- Indici
- Rilegatura NIC multipla
- Pipeline
 
Elasticità della cache (disponibilità elevata)
- Cluster di cache dinamica
- Architettura peer-to-peer
- Failover della connessione
- Rilevamento del cervello diviso e recupero automatico
- Configurazione dinamica
- Cluster multipli
- Casse con nome
- Protocollo di comunicazione ( TCP )
- Eventi specifici del cluster
- Interrompere il ripartizionamento in modalità di manutenzione
 
Topologie della cache
- Cache locale
- Cache client (vicino alla cache)
- cache speculare
- Cache replicata
- Cache partizionata
- Cache di partizione-replica
- Bilanciamento dati partizionato
- Bilanciamento automatico del carico
- Affinità dei dati partizionati
- Persistenza dal vivo
- Accesso ai dati a hop singolo
 
Replica WAN (multi-data center)
- Attivo passivo
- Attivo – Attivo (2 datacenter)
- Attivo – Attivo (3+ data center)
- Multiplo Attivo – Multiplo Passivo
- Risoluzione del conflitto
- Deduplicazione
- La sicurezza dei dati
 
Sicurezza e crittografia
- Autenticazione (Active Directory/LDAP)
- Autorizzazione
- Crittografia dei dati
- Comunicazione sicura (TLS)
 
Amministrazione e monitoraggio della cache
- Strumento di amministrazione (GUI Web)
- Strumento di monitoraggio (GUI Web)
- Contatori PerfMon
- Contatori JMX
- Contatori SNMP
- Strumenti di amministrazione (riga di comando)
- API di amministrazione e monitoraggio (.NET e Java)
- Parco giochi (Live + con installazione)
 
App Web (Java e altre)
- Sessioni di avvio primaverile
- Sessioni Spring Boot (multisito)
- Sessioni Web Java
- Sessioni Web Java (multisito)
- Sessioni Web Node.js
- Sessioni Web Node.js (multisito)
caratteristica
 
App Web (.NET)
- Asp.NET Core Sessioni
- Asp.NET Core Sessioni (multisito)
- Asp.NET Core SignalR Backplane
- Asp.NET Core Cache di risposta
- Asp.NET Core IDistributedCache
- Asp.NET Core Server di identità
- ASP.NET e ASP.NET Core Condivisione della sessione
- Sessioni ASP.NET
- Sessioni ASP.NET (multisito)
- ASP.NET View State
- Cache di output ASP.NET
- ASP.NET SignalR Backplane
 
Integrazioni Java
- Ibernazione della cache di 2° livello
- Caching primaverile
- API JCache
- Caching dell'API Java Persistence (JPA).
 
Integrazioni .NET
- Cache EF Core
- Cache di Entity Framework 6
- Nascondiglio di secondo livello di Hibernate
 
Funzionalità di memorizzazione nella cache degli oggetti
- Ottieni, Aggiungi, Inserisci, Rimuovi, Esiste, Cancella Cache
- Scadenze
- Blocca e sblocca
- API di streaming di oggetti di grandi dimensioni
- Versione articolo
- Versioni multiple di oggetti
- Transazioni (Supporto parziale)
- Strutture dati distribuite
 
Raggruppamento di dati
- Gruppi
- Tag
- Tag con nome
 
Query (tipo SQL)
- Ricerca SQL
- Aggiornamento ed eliminazione SQL
- SQL su tag, tag con nome e gruppi
-Query LINQ (.NET)
 
Read-through, write-through, caricatore/aggiornamento della cache
- Lettura
- Scrivi attraverso, scrivi dietro
- Ricaricamento automatico alla scadenza e sincronizzazione DB (read-thru)
- Caricatore
- Aggiornamento
 
Sincronizzazione con le origini dati
- Dipendenza SQL (SQL Server)
- Dipendenza da Oracle (Oracle)
- Dipendenza DB (qualsiasi DB)
- Dipendenza dai file
- Dipendenza personalizzata (qualsiasi origine)
 
Gestione delle relazioni di dati
- Dipendenza della cache basata su chiave
- Dipendenza multi-cache basata su chiave
 
Eventi e interrogazione continua
- Eventi a livello di articolo (onInsert/onRemove)
- Eventi a livello di cache (Aggiungi/Inserisci/Rimuovi)
- Interrogazione continua
 
Messaggistica Pub/Sub (stile Kafka)
- Argomento
- Fare la fila
- Abbonamenti durevoli
- Persistenza del messaggio
- Partizionamento degli argomenti
- Sequenza dei messaggi
- Garanzia di consegna dei messaggi
- Gestione dello schema
- Streaming in tempo reale (stile Kafka)
 
Ricerca di testo completo
- Ricerca testo completo (API Lucene)
- Applicazione dello schema
- Migrazione dell'indice
- Inserimento dati
 
Elaborazione e analisi dei big data
- Query di riduzione mappa
- Aggregatori
- Processore di ingresso
 
Gestione delle dimensioni della cache (politiche di sfratto)
- Dimensione massima della cache (in MB)
- Sfratti LRU (usati meno di recente)
- Sfratti LFU (usati meno frequentemente)
- Sfratti prioritari
- Non sfrattare l'opzione
 

Caratteristiche spiegate

 

Supporto .NET e Java

NCache fornisce un forte supporto sia per Java che per .NET.

Area delle funzionalità NCache
Client di cache: .NET, Java, Node.js, Python

I client .NET, Java, Node.js e Python sono ufficialmente supportati.

Edizione .NET
Codice lato server (.NET)

Esegui il codice lato server .NET in modo nativo.

Edizione Java
Codice lato server (Java)

Esegui il codice lato server Java in modo nativo.

Pacchetti Java Maven

Set completo di pacchetti Maven forniti.

Pacchetti .NET NuGet

Set completo di pacchetti NuGet forniti.

Pacchetti Node.js e Python

Set completo di pacchetti Node.js e Python forniti.

 

Supporto Windows e Linux

NCache fornisce un forte supporto sia per Linux che per Windows.

Area delle funzionalità NCache
Windows (server cache, client cache)

Windows ufficialmente supportato per Cache Server e Cache Client

Linux (server cache, client cache)

Linux ufficialmente supportato per Cache Server e Cache Client

 

Supporto Docker e Kubernetes

NCache fornisce un forte supporto sia per Docker che per Kubernetes.

Area delle funzionalità NCache
Docker (Linux, Windows)

Immagini Docker Linux e Windows ufficialmente supportate NCache server

kubernetes
(locale)

NCache può essere distribuito senza problemi all'interno di qualsiasi cluster Kubernetes. NCache i server possono essere pod basati su Linux o Windows.

Correre NCache Management Center sia dall'interno che dall'esterno di Kubernetes per accedere e gestire NCache grappolo.

Azure Kubernetes Service (AKS)

NCache può essere distribuito senza problemi all'interno di qualsiasi cluster Azure Kubernetes (AKS). NCache i server possono essere pod basati su Linux o Windows.

Correre NCache Centro di gestione sia dall'interno che dall'esterno di AKS Kubernetes per accedere e gestire i file NCache grappolo.

Servizio AWS Elastic Kubernetes (EKS)

NCache può essere distribuito senza problemi all'interno di qualsiasi cluster AWS Elastic Kubernetes (EKS). NCache i server possono essere pod basati su Linux o Windows.

Correre NCache Management Center sia dall'interno che dall'esterno di EKS Kubernetes per accedere e gestire i file NCache grappolo.

Motore Google Kubernetes (GKE)

NCache può essere distribuito senza problemi all'interno di qualsiasi cluster Google Kubernetes Engine (GKE). NCache i server possono essere pod basati su Linux o Windows.

Correre NCache Management Center sia dall'interno che dall'esterno di GKE Kubernetes per accedere e gestire i file NCache grappolo.

Red Hat OpenShift Kubernetes

NCache può essere distribuito senza problemi all'interno di qualsiasi cluster Red Hat OpenShift Kubernetes. NCache i server possono essere pod basati su Linux o Windows.

Correre NCache Management Center sia dall'interno che dall'esterno di OpenShift Kubernetes per accedere e gestire i file NCache grappolo.

 

Prestazioni e scalabilità

NCache è estremamente veloce e scalabile. Vedi come NCache ottiene questo.

Area delle funzionalità NCache
Prestazioni della cache

Super Fast

2 milioni di operazioni/sec, cluster a 5 nodi

NCache è estremamente veloce. Per favore, guardalo benchmark delle prestazioni che può espandersi ulteriormente.

Puoi fare il benchmarking di NCache nel tuo ambiente utilizzando gli strumenti di stress test forniti con NCache.

Scalabilità della cache

Estremamente scalabile

2 milioni di operazioni/sec, cluster a 5 nodi

NCache fornisce scalabilità lineare, significa che aggiungendo più nodi al cluster le prestazioni aumentano in modo lineare. Per favore, guardalo benchmark delle prestazioni.

Puoi fare il benchmarking di NCache nel tuo ambiente utilizzando gli strumenti di stress test forniti con NCache.

API per le operazioni in blocco

Ottieni, aggiungi, inserisci e rimuovi in ​​blocco. Questo copre la maggior parte delle principali operazioni di cache e fornisce un notevole incremento delle prestazioni.

API delle operazioni asincrone

Aggiunta, inserimento e rimozione asincroni forniti.

L'operazione asincrona restituisce il controllo all'applicazione ed esegue l'operazione di cache in background. Migliora notevolmente il tempo di risposta dell'applicazione.

Compressione

Specificandolo insieme alla soglia della dimensione dell'elemento, verranno compressi solo gli elementi più grandi della soglia. Il resto viene memorizzato nella cache non compresso.

Questa soglia di dimensione viene fornita perché la compressione di elementi più piccoli spesso rallenta le operazioni.

Inoltre, puoi configurare la "Compressione" in fase di esecuzione tramite "Applicazione a caldo".

Serializzazione rapida e compatta

La serializzazione compatta è estremamente veloce perché utilizza codice precompilato per la serializzazione e anche perché memorizza gli ID dei tipi invece dei nomi di tipo lunghi negli oggetti serializzati. Questo è quasi 10 volte più veloce.

Dopo aver registrato le classi per la serializzazione compatta, NCache genera il codice di serializzazione e lo compila in memoria in fase di esecuzione e utilizza questo codice precompilato per la serializzazione.

Puoi combinare la serializzazione compatta con la serializzazione normale su oggetti di tua scelta.

Indici

NCache consente di definire indici sugli attributi dell'oggetto.

NCache quindi genera il codice di estrazione dei dati per questi indici al momento della connessione, lo compila in memoria e lo utilizza sul lato client per tutta l'estrazione dei dati. Questo è molto più veloce rispetto all'utilizzo di Reflection.

NCache crea inoltre automaticamente indici su tag, tag denominati e gruppi. Politiche di scadenza e di sfratto.

Rilegatura NIC multipla

È possibile assegnare due NIC a un server cache. Uno può essere utilizzato per consentire ai client di comunicare con il server cache e il secondo per consentire a più server cache nel cluster di comunicare tra loro.

Ciò migliora notevolmente la scalabilità della larghezza di banda.

È inoltre possibile assegnare una scheda NIC specifica per un client cache da utilizzare per comunicare con il server cache.

pipelining

NCache utilizza pipeline per operazioni di I/O ad alte prestazioni tra client e server. Con il pipeline è possibile aumentare notevolmente la scalabilità.

Il pipelining è abilitato per impostazione predefinita su tutte le cache ma può essere disabilitato tramite config.

 

Elasticità della cache (disponibilità elevata)

L'elasticità della cache indica quanto è flessibile la cache in fase di esecuzione. Sei in grado di eseguire le seguenti operazioni in fase di esecuzione senza arrestare la cache o l'applicazione?

  1. Aggiungi o rimuovi server cache in fase di esecuzione senza interrompere la cache.
  2. Apporta modifiche alla configurazione della cache senza interrompere la cache.
  3. Aggiungi o rimuovi server web/applicazioni senza fermare la cache.
  4. Avere il supporto per il failover nel caso in cui un server si guasti e i client cache siano in grado di continuare a funzionare senza problemi.

NCache fornisce un clustering dinamico della cache autoriparante che crea NCache altamente elastico. Leggi di più a riguardo su Clustering dinamico con autoriparazione.

Area delle funzionalità NCache
Cluster di cache dinamica

NCache è altamente dinamico e consente di aggiungere o rimuovere server cache in fase di esecuzione senza alcuna interruzione della cache o dell'applicazione.

Quando lo fai, i dati vengono automaticamente ribilanciati in fase di esecuzione (chiamato trasferimento di stato) e senza alcuna interruzione per la cache o i suoi client. Inoltre non vi è alcun degrado delle prestazioni.

Architettura peer-to-peer

NCache il cluster di cache ha un'architettura peer-to-peer. Ciò significa che non esiste un "master/slave" e una "regola della maggioranza" nel cluster.

Tutti i nodi sono uguali. Esiste un nodo "coordinatore" che è il nodo più senior. Se diminuisce, il successivo nodo più anziano assume automaticamente questo ruolo.

Ciò significa che se un server si guasta, il cluster rimane sempre funzionante e corretto.

Failover della connessione
(Cluster, Client/Server)

NCache fornisce il supporto completo per il failover della connessione tra client e server della cache e anche all'interno del cluster di cache.

In caso di guasto del server cache, NCache i client continuano a lavorare con altri server nel cluster senza alcuna interruzione.

Il cluster si autogestisce ribilanciando i propri dati e ricreando le repliche dove necessario.

Rilevamento del cervello diviso e ripristino automatico

Viene fornito il rilevamento del cervello diviso e ricevi una notifica NCache eventi quando ciò accade e viene fornito il ripristino automatico.

Configurazione dinamica

NCache la configurazione del cluster non è codificata e quando si aggiungono o eliminano server in fase di esecuzione, tutti gli altri server nel cluster ne vengono informati.

NCache i client inoltre apprendono informazioni su tutti i server e su una varietà di altre configurazioni in fase di esecuzione dal cluster di cache.

Inoltre, la funzione "Applicazione a caldo" consente di modificare gran parte della configurazione in fase di esecuzione senza interrompere nulla.

Cluster multipli

NCache consente di creare più cluster di cache della stessa topologia o di topologie diverse sullo stesso set di server di cache.

Cache denominate

NCache consente di creare più cache denominate sullo stesso set di server di cache.

Protocollo di comunicazione

TCP

Eventi specifici del cluster

NCache fornisce eventi sulle modifiche nel cluster come: MemberJoined, MemberLeft, CacheStopped, ecc.

Questi eventi possono essere distribuiti in modo nativo alle applicazioni Java e .NET.

Interrompere il ripartizionamento in modalità di manutenzione

NCache ti consente di arrestare un server cache per la "modalità di manutenzione", nel qual caso anche se questo server ha lasciato il cluster, NCache non esegue il ripartizionamento automatico. Invece, NCache continua a funzionare senza questo nodo finché non viene ripristinato.

Questo comportamento è diverso dal comportamento standard in cui un nodo che lascia il cluster attiva automaticamente il ripartizionamento.

 

Topologie della cache

Le topologie della cache determinano l'archiviazione dei dati, la replica e la strategia di connessione del client. Esistono diverse topologie per diversi tipi di utilizzo. Leggi maggiori dettagli su NCache topologie di memorizzazione nella cache in Topologie della cache.

Area delle funzionalità NCache
Cache locale

Sia InProc che OutProc.

InProc è molto più veloce e ti offre "Velocità InProc", ma il consumo di memoria è maggiore se hai più istanze sulla stessa macchina.

OutProc è leggermente più lento a causa dei costi IPC e di serializzazione, ma consente di risparmiare sul consumo di memoria perché è disponibile una sola copia per macchina.

Cache cliente
(Vicino alla cache)

La cache client è semplicemente una cache locale (InProc/OutProc) sul file NCache remote client macchina che conserva una copia di tutti i dati recuperati dal cluster di cache.

Questa cache client viene inoltre mantenuta sincronizzata con il cluster di cache, quindi se eventuali modifiche ai dati nel cluster di cache vengono immediatamente aggiornate anche nella cache client.

Con esso, NCache i client ottengono i vantaggi di una cache locale superveloce senza compromettere l'integrità dei dati e senza limitare la dimensione della cache a una sola memoria del client.

cache specchiata

Mirrored Cache è una cache attiva-passiva a 2 nodi. Tutti i client si connettono al nodo attivo e il mirroring dei dati viene eseguito in modo asincrono.

Nel caso in cui il nodo attivo si disattivi, il nodo passivo diventa automaticamente attivo e tutti i client si connettono automaticamente ad esso.

Cache replicata

In Replicated Cache, l'intera cache viene replicata su tutti i nodi del cluster.

Puoi avere più di 2 nodi e tutti i nodi sono attivi, il che significa che i client si connettono direttamente ad essi per operazioni di lettura-scrittura.

Gli aggiornamenti vengono eseguiti in modo sincrono all'interno del cluster e sono quindi più lenti rispetto ad altre topologie ma comunque abbastanza veloci. Le letture sono super veloci.

Ogni client si connette a un solo nodo. È possibile abilitare il bilanciamento del carico o specificare un elenco ordinato di server che i client potranno utilizzare per la connessione.

Cache partizionata

Supporto completo per il failover in caso di guasto di un server (anche se in questo caso si verifica una perdita di dati).

La cache partizionata è una topologia molto potente. È possibile partizionare senza replica per velocizzare la cache e utilizzare anche meno memoria perché è sempre possibile ricaricare alcuni dati se vengono persi dalla cache.

In Partitioned Cache, l'intera cache viene partizionata e ciascun server cache ottiene una partizione. Tutte le partizioni vengono create o eliminate e i relativi bucket vengono riassegnati automaticamente in fase di runtime quando aggiungi/rimuovi nodi.

La funzionalità di ribilanciamento dei dati viene fornita anche se nessuna partizione viene aggiunta o rimossa ma quando una partizione viene sopraffatta da troppi dati.

Cache di replica partizione

Uguale alla cache partizionata (leggi sopra).

Fornisce inoltre una replica per ogni partizione conservata su un altro server cache. Ciò garantisce affidabilità contro la perdita di dati in caso di guasto di un nodo.

Proprio come le partizioni, anche le repliche vengono create dinamicamente.

Il bilanciamento dei dati aggiorna anche le repliche.

Bilanciamento dei dati partizionato

I dati vengono ribilanciati automaticamente quando aggiungi/rimuovi server cache dal cluster.

I dati vengono inoltre ribilanciati automaticamente quando un server cache dispone di molti più dati rispetto ad altri server. A questo scopo è possibile configurare la soglia di differenza. In questo caso puoi disattivare il ribilanciamento automatico e farlo manualmente se lo desideri.

Questo vale sia per la Cache partizionata che per la Cache replica partizione.

Bilanciamento automatico del carico

I client sono bilanciati tra i nodi del server nel caso della topologia della cache replicata.

Per le topologie Partitioned Cache, tutti i client sono connessi a tutti i nodi per operazioni a hop singolo e quindi anche bilanciati.

Affinità dei dati partizionati

NCache fornisce l'affinità dei dati. Per usarlo, specifichi la chiave dell'altro elemento all'interno di {} di un elemento e quindi questo elemento rimarrà sulla stessa partizione degli altri elementi con la stessa affinità.

Persistenza viva

NCache ti consente di attivare Live Persistence per qualsiasi cache, nel qual caso tutti i suoi dati vengono mantenuti in un archivio di persistenza LiteDB. Si tratta di un archivio binario persistente che riflette tutti i bucket in un cluster di cache. La persistenza viene eseguita LIVE in fase di esecuzione.

Se lo desideri, puoi ripristinare una cache dalla sua copia persistente.

Accesso ai dati a hop singolo

In tutte le topologie della cache, NCache i client sono in grado di accedere ai dati memorizzati nella cache in un singolo hop.

 

Replica WAN (multi-data center)

La replica WAN è una funzionalità importante per molti clienti le cui applicazioni vengono distribuite in più data center (più regioni o zone di disponibilità nel cloud) per scopi di ripristino di emergenza o per il bilanciamento del carico del traffico regionale.

L'idea alla base della replica WAN è che non deve rallentare la cache in ciascuna posizione geografica a causa dell'elevata latenza della WAN. NCache fornisce Bridge Topology per gestire tutto questo.

Maggiori informazioni su Replica WAN di NCache.

Area delle funzionalità NCache
Attivo passivo

Topologia a ponte Attivo-Passivo

È possibile creare un ponte tra i siti attivi e passivi. Il sito attivo invia tutti gli aggiornamenti al Bridge che li replica poi nel sito passivo.

Attivo – Attivo
(2 datacenter)

Topologia a ponte attivo-attivo

Puoi creare un Bridge tra due siti attivi. Entrambi inviano i propri aggiornamenti al Bridge che gestisce i conflitti sulla regola "l'ultimo aggiornamento vince" o tramite un gestore di risoluzione dei conflitti personalizzato fornito da te. Quindi, il Bridge garantisce che entrambi i siti abbiano lo stesso aggiornamento.

Attivo – Attivo
(3+ data center)

Topologia a ponte attivo-attivo

Puoi creare un Bridge tra tre o più siti attivi. Tutti inviano i propri aggiornamenti al Bridge che gestisce i conflitti sulla regola "l'ultimo aggiornamento vince" o tramite un gestore di risoluzione dei conflitti personalizzato fornito da te. Quindi, il Bridge garantisce che tutti i siti abbiano lo stesso aggiornamento.

Attivo multiplo – Passivo multiplo

NCache ti consente di creare un ponte tra più siti attivi e più siti passivi.

Risoluzione del conflitto

Per impostazione predefinita, per risolvere i conflitti viene utilizzato l'algoritmo "l'ultimo aggiornamento vince". Ma puoi specificare un "gestore di risoluzione dei conflitti personalizzato" che viene chiamato per risolvere il conflitto confrontando il contenuto di entrambi gli oggetti e decidendo quale vince.

De-duplicazione

NCache Bridge ottimizza la coda di replica deduplicando gli elementi. Se la stessa chiave viene aggiornata più volte, replica solo l'ultima.

Sicurezza dei dati

È possibile crittografare i dati con algoritmi 3DES e AES in modo che vengano memorizzati nella cache come dati crittografati prima del trasporto attraverso il Bridge all'altro sito attraverso la WAN.

Altrimenti, puoi utilizzare una VPN tra più data center sulla WAN per motivi di sicurezza.

 

Sicurezza e crittografia

Molte applicazioni trattano dati sensibili o sono mission-critical e quindi la sicurezza è una preoccupazione molto importante per loro.

NCache fornisce accesso limitato alla cache e ai suoi server in base all'autenticazione e all'autorizzazione per classificare le persone in diversi gruppi di utenti. Inoltre, consente la crittografia dei dati all'interno del processo dell'applicazione client prima che raggiungano la cache.

NCache fornisce un forte supporto per la sicurezza.

Area delle funzionalità NCache
Autenticazione
(Directory attiva/LDAP)

Puoi autenticare gli utenti rispetto ad Active Directory o LDAP. Se la sicurezza è abilitata, nessuno può accedere alla cache senza autenticazione e autorizzazione.

Autorizzazione

Puoi autorizzare gli utenti a essere "utenti" o "amministratori". Gli utenti possono accedere alla cache solo per operazioni di lettura-scrittura mentre gli "amministratori" possono amministrare i server e i cluster della cache.

Crittografia dei dati

È possibile abilitare la crittografia e NCache crittografa automaticamente tutti gli elementi sul client prima di inviarli alla cache.

Inoltre, questi dati vengono mantenuti crittografati mentre si trovano nella cache. E la decrittazione avviene anche in modo automatico e trasparente all'interno del processo client.

Attualmente vengono fornite le crittografie 3DES e AES128/AES196/AES256 e ne vengono aggiunte altre.

Comunicazione sicura (TLS)

NCache fornisce TLS per il trasporto sicuro per la comunicazione client/server.

Inoltre, vengono fornite crittografie avanzate da NCache in modo da poter crittografare i dati su una connessione non protetta.

 

Amministrazione e monitoraggio della cache

L'amministrazione della cache è un aspetto molto importante di un archivio distribuito in memoria. Una buona cache dovrebbe fornire quanto segue:

  1. GUI Web e strumenti da riga di comando per l'amministrazione della cache.
  2. Strumenti Web GUI per il monitoraggio delle attività della cache in fase di runtime.
  3. Memorizza nella cache le statistiche tramite "contatori" sia su Linux che su Windows

NCache fornisce un potente supporto in tutte queste aree. Leggi di più a riguardo su Strumenti di amministrazione e monitoraggio.

Area delle funzionalità NCache
Strumento di amministrazione (GUI Web)

NCache Management Center è un potente strumento Web GUI per NCache. Ti offre una visualizzazione in stile esploratore e ti consente di amministrare rapidamente il cluster di cache da un'unica posizione. Ciò include la creazione/modifica della cache e molte altre funzioni.

Autorizzazione

Strumento di monitoraggio (GUI Web)

NCache Monitor fa parte del Management Center ed è un potente strumento Web GUI che consente di monitorare NCache attività a livello di cluster da un'unica posizione. Ti consente anche di monitorare tutto NCache clienti da un'unica sede.

E puoi incorporare non-NCache PerfMon conta in esso per il confronto con NCache statistiche. Questo confronto in tempo reale è spesso molto importante.

Contatori PerfMon

NCache fornisce un ricco set di contatori PerfMon da cui è possibile visualizzare NCache Manager, NCache Monitor o qualsiasi strumento di terze parti che supporti il ​​monitoraggio PerfMon.

Contatore JMX

NCache fornisce un ricco set di contatori JMX per i propri client Java che possono essere visualizzati da qualsiasi strumento di terze parti che supporti il ​​monitoraggio JMX.

Contatore SNMP

NCache fornisce un ricco set di contatori SNMP per i propri client Java che possono essere visualizzati da qualsiasi strumento di terze parti che supporti i contatori SNMP.

Strumenti di amministrazione
(Riga di comando)

NCache fornisce potenti strumenti da riga di comando. Puoi creare una cache, aggiungere remote clients ad esso, aggiungere nodi del server, avviare/arrestare la cache e molto altro.

Utilizza questi strumenti dai tuoi script (Linux o Windows) e automatizza varie attività di amministrazione della cache.

API di amministrazione e monitoraggio (.NET e Java)

NCache fornisce API Java e .NET per gestire e monitorare cache e client. Utilizzando questa API, puoi arrestare/avviare la cache, ottenere le statistiche dei client connessi o ottenere le informazioni sullo stato del cluster di cache.

Parco giochi (Live + con installazione)

NCache Playground fornisce un modo rapido e interattivo per familiarizzare con NCache. Con Playground puoi esplorare facilmente NCache campioni, eseguirli, apportare modifiche ed eseguirli senza la necessità di un ambiente di sviluppo.

 

App Web (Java e altre)

La cosa più importante di cui hanno bisogno le app Web è l'archiviazione delle sessioni Web. NCache fornisce un forte supporto per le app Web Java e Node.js come illustrato di seguito.

Area delle funzionalità NCache
Sessioni di avvio primaverile

NCache ha implementato l'integrazione con Spring Boot per archiviare la propria Session.

NCache fornisce una replica intelligente delle sessioni ed è molto più veloce di qualsiasi archiviazione di database per le sessioni.

Sessioni Spring Boot (multisito)

NCache ti consente di condividere sessioni Spring Boot su più data center.

Ciò serve alle situazioni in cui non si desidera replicare tutte le sessioni in ciascun data center ma si desidera la possibilità di trasferire il traffico da un data center a un altro senza perdere le sessioni Web Java.

La sessione si sposta da un data center a quello successivo man mano che l'utente si sposta.

Sessioni Web Java

NCache ha implementato un provider di sessioni servlet JSP (Java Servlet 4.0+). Puoi usarlo senza alcuna modifica del codice. Basta cambiare web.xml

NCache fornisce una replica intelligente delle sessioni ed è molto più veloce di qualsiasi archiviazione di database per le sessioni.

Sessioni Web Java
(Multisito)

NCache consente di condividere sessioni Web Java su più data center.

Ciò serve alle situazioni in cui non si desidera replicare tutte le sessioni in ciascun data center ma si desidera la possibilità di trasferire il traffico da un data center a un altro senza perdere le sessioni Web Java.

La sessione si sposta da un data center a quello successivo man mano che l'utente si sposta.

Sessioni Web Node.js

NCache ha implementato un provider per archiviare la sessione Web Node.js.

NCache fornisce una replica intelligente delle sessioni ed è molto più veloce di qualsiasi archiviazione di database per le sessioni.

Sessioni Web Node.js
(Multisito)

NCache ti consente di condividere sessioni Web Node.js su più data center.

Ciò serve alle situazioni in cui non si desidera replicare tutte le sessioni in ciascun data center ma si desidera la possibilità di trasferire il traffico da un data center a un altro senza perdere le sessioni Web Java.

La sessione si sposta da un data center a quello successivo man mano che l'utente si sposta.

 

App Web (.NET)

La cosa più importante di cui hanno bisogno le app Web è l'archiviazione delle sessioni Web. NCache fornisce un forte supporto per ASP.NET Core e App Web ASP.NET come illustrato di seguito.

Area delle funzionalità NCache
ASP.NET Core Sessioni

NCache ha implementato un ASP.NET Core Fornitore di sessioni. In questo, NCache ha inoltre implementato un blocco speciale per gestire il controllo della concorrenza.

NCache fornisce una replica intelligente delle sessioni ed è molto più veloce di qualsiasi archiviazione di database per le sessioni.

ASP.NET Core Sessioni (multisito)

NCache ti permette di condividere ASP.NET Core sessioni su più data center.

Ciò serve alle situazioni in cui non si desidera replicare tutte le sessioni in ciascun data center ma si desidera la possibilità di traboccare il traffico da un data center a un altro senza perdere l'ASP.NET Core sessioni.

La sessione si sposta da un data center a quello successivo man mano che l'utente si sposta.

ASP.NET Core
SignalR Backplane

NCache ha implementato l'ASP.NET Core SignalR Backplane per applicazioni Web in tempo reale ad alto traffico eseguite in web farm multiserver con carico bilanciato.

SignalR usa la messaggistica Pub/Sub di NCache per inviare messaggi da un server web a un altro.

ASP.NET Core
Cache di risposta

NCache ha implementato l'ASP.NET Core Middleware della cache di risposta per applicazioni in esecuzione in farm Web multi-server con bilanciamento del carico.

La cache delle risposte determina quando le risposte Web possono essere memorizzate nella cache e le memorizza NCachee fornisce le risposte dalla cache.

ASP.NET Core IDistributedCache

NCache ha implementato un provider IDistributedCache che ti consente di utilizzare NCache senza alcuna modifica al codice se il tuo ASP.NET Core l'applicazione sta già utilizzando l'interfaccia IDistributedCache.

ASP.NET Core
Server di identità

Puoi usare NCache come ASP.NET Core Cache e archivio dati di IdentityServer4.

ASP.NET e ASP.NET Core Condivisione della sessione

NCache consente di condividere sessioni tra ASP.NET e ASP.NET Core applicazioni.

Sessioni ASP.NET

NCache ha implementato un ASP.NET Session State Provider (SSP) per .NET 4.8. Puoi usarlo senza alcuna modifica del codice. Basta cambiare web.config.

NCache fornisce inoltre opzioni flessibili di blocco della sessione per gestire i robot che inondano un sito Web ASP.NET.

NCache fornisce una replica intelligente delle sessioni ed è molto più veloce di qualsiasi archiviazione di database per le sessioni.

Sessioni ASP.NET
(Multisito)

NCache consente di condividere sessioni ASP.NET su più data center.

Ciò è utile nelle situazioni in cui non si desidera replicare tutte le sessioni in ciascun data center ma si desidera la possibilità di trasferire il traffico da un data center a un altro senza perdere le sessioni ASP.NET.

La sessione si sposta da un data center a quello successivo man mano che l'utente si sposta.

ASP.NET View State

Sì. NCache ha un ASP.NET View State modulo di memorizzazione nella cache. Usalo senza modifiche al codice. Basta modificare il file di configurazione.

Ecco alcune funzionalità avanzate supportate da NCache:

  • - Politica a livello di gruppo
  • - Associare le pagine ai gruppi
  • - Collega lo stato di visualizzazione alle sessioni
  • - Conteggio massimo dello stato di visualizzazione per utente
  • - Di Più
Cache di output ASP.NET

NCache ha implementato un provider di cache di output ASP.NET. Consente di memorizzare nella cache l'output della pagina ASP.NET in un archivio distribuito in memoria e condividerlo in una web farm.

ASP.NET
SignalR Backplane

NCache ha implementato ASP.NET SignalR Backplane per applicazioni Web in tempo reale ad alto traffico eseguite in web farm multiserver con carico bilanciato.

SignalR usa la messaggistica Pub/Sub di NCache per inviare messaggi da un server web a un altro.

 

Integrazioni Java

Hibernate è un motore di mappatura relazionale a oggetti molto potente e popolare. E, fortunatamente, ha anche un'architettura del provider di cache di secondo livello che consente di collegare una cache di terze parti senza apportare modifiche al codice dell'applicazione Hibernate. NCache ha implementato questo provider di cache di secondo livello di Hibernate.
See Ibernazione cache di secondo livello per i dettagli.

Allo stesso modo, Spring Framework è un framework applicativo Open Source per Java composto da diversi moduli che forniscono una gamma di servizi. Vedere Integrazione dei dati di primavera per i dettagli.

Area delle funzionalità NCache
Ibernazione della cache di 2° livello

NCache fornisce un provider di cache di 2° livello di Hibernate che puoi collegare alla tua app Java senza alcuna modifica del codice.

NCache ha anche implementato una funzionalità di sincronizzazione del database in questo in modo da poter specificare quali classi devono essere sincronizzate con il database. NCache consente di specificare OracleDependency, SqlDependency o DbDependency per questo.

Memorizzazione nella cache di primavera

NCache supporta completamente l'integrazione della cache con Spring Framework versione 5.1 e successive.

API JCache

NCache fornisce un'implementazione dell'API JCache. NCache ha anche esteso l'API JCache per funzionalità che NCache fornisce ma che non sono supportati da JCache.

Quindi puoi collegarlo o scollegarlo NCache a qualsiasi applicazione che utilizza JCache senza alcuna modifica al codice.

Memorizzazione nella cache dell'API Java Persistence (JPA).

NCache fornisce un'integrazione con JPA come provider di memorizzazione nella cache.

 

Integrazioni .NET

Area delle funzionalità NCache
Cache principale di EF

Metodi di estensione

NCache ha implementato i metodi di estensione EF Core per la memorizzazione nella cache per rendere davvero semplice l'utilizzo della memorizzazione nella cache da parte delle applicazioni EF. Fornisce inoltre il pieno controllo all'applicazione su come memorizzare nella cache i dati.

Entità Framework 6 Cache

Provider ADO.NET personalizzato

NCache ha implementato una cache di secondo livello dietro le quinte per Entity Framework 6. Puoi collegarti NCache all'applicazione EF, eseguila in modalità di analisi e visualizza rapidamente tutte le query utilizzate. Quindi, puoi decidere quali query devono essere memorizzate nella cache e quali ignorare.

NCache di secondo livello in ibernazione

NCache fornisce il provider di cache L2 di NHibernate che puoi collegare tramite modifiche a web.config o app.config.

NCache ha anche implementato la funzione di sincronizzazione del database in questo modo puoi specificare quali classi devono essere sincronizzate con il database. NCache consente di specificare SqlDependency, OracleDependency o DbDependency per questo.

 

Funzionalità di memorizzazione nella cache degli oggetti

Area delle funzionalità NCache
Ottieni, aggiungi, inserisci, rimuovi, esiste, svuota la cache

NCache fornisce più variazioni di queste operazioni e quindi un maggiore controllo per l'utente.

Scadenze

Sono previste scadenze assolute e scorrevoli.

La scadenza assoluta è utile per i dati provenienti dal database e devono scadere dopo un periodo noto perché potrebbero diventare obsoleti.

La scadenza scorrevole significa che scade dopo un periodo di inattività ed è utile per la sessione e altri dati temporanei che devono essere rimossi quando non sono più necessari.

Blocca e sblocca

NCache fornisce sia il blocco che lo sblocco. L'API Lock viene utilizzata per bloccare esclusivamente un elemento memorizzato nella cache in modo che nessun altro possa leggerlo o scriverlo. Questo elemento rimane bloccato finché il blocco non scade o non viene sbloccato.

NCache fornisce anche "GetAndLock()", che blocca l'elemento prima di recuperarlo, e "InsertAndUnlock()" che aggiorna l'elemento e quindi lo sblocca, tutto in una chiamata.

API di streaming di oggetti di grandi dimensioni

Per oggetti di grandi dimensioni, NCache consente ai client della cache di recuperarli in modo "GetChunk()" e di aggiornarli in modo "AppendChunk()". Con questo, NCache i client possono eseguire lo streaming dentro o fuori oggetti di grandi dimensioni dalla cache.

Controllo delle versioni degli elementi

Ciò garantisce che solo un client possa aggiornare un elemento e tutti gli aggiornamenti futuri falliranno a meno che i client della cache non recuperino prima la versione più recente e quindi la aggiornino.

Più versioni di oggetti

NCache consente a due diverse versioni della stessa classe di essere archiviate nella cache da app diverse. Ogni app recupera la propria versione e la cache mantiene un superset.

Le transazioni

Supporto parziale

Blocco esplicito
Blocco implicito (versione articolo)
Processore di ingresso (sono atomici)

Strutture di dati distribuiti

NCache fornisce strutture di dati distribuite come Elenco, Coda, Set, Dizionario e Contatore.

 

Raggruppamento di dati

Area delle funzionalità NCache
ATTIVITA' E GRUPPI

NCache offre la possibilità di raggruppare gli elementi memorizzati nella cache in un gruppo.

Successivamente puoi recuperare o rimuovere tutti gli elementi appartenenti a un gruppo. Puoi anche recuperare solo le chiavi e quindi recuperare solo un sottoinsieme di esse.

tag

NCache fornisce un concetto chiamato Tag. Un tag è una stringa che puoi assegnare a uno o più elementi memorizzati nella cache. E a un elemento memorizzato nella cache possono essere assegnati più tag.

E, in seguito, puoi recuperare elementi appartenenti a uno o più Tag per manipolarli.

Puoi anche includere tag nella ricerca SQL o LINQ come parte dei criteri.

Tag con nome

NCache fornisce una funzione Tag denominati in cui è possibile assegnare una "chiave" e un "tag" a uno o più elementi memorizzati nella cache. Inoltre, un singolo elemento memorizzato nella cache può ottenere più tag denominati.

Successivamente, puoi recuperare elementi appartenenti a uno o più tag nominati. È inoltre possibile utilizzare tag denominati nelle query SQL e LINQ come parte dei criteri.

 

Query (tipo SQL)

Area delle funzionalità NCache
Ricerca SQL

NCache fornisce una ricca funzionalità di ricerca basata su SQL. Puoi cercare nella cache in base agli attributi dell'oggetto anziché solo alle chiavi.

Puoi anche includere Gruppo, Tag e Tag denominati nella tua query SQL.

Aggiornamento ed eliminazione SQL

NCache ti consente di eseguire una query SQL UPDATE che aggiorna gli elementi memorizzati nella cache senza prima caricarli sul client.

NCache consente inoltre di eseguire un'istruzione DELETE SQL che elimina gli elementi memorizzati nella cache.

SQL su tag, tag denominati e gruppi

NCache ti consente di includere tag, tag denominati e nomi di gruppi come parte dei criteri di ricerca SQL.

Query LINQ (.NET)

NCache consente di effettuare ricerche nella cache con query LINQ da applicazioni .NET. LINQ è un popolare linguaggio di interrogazione di oggetti in .NET e NCache ha implementato un provider LINQ.

Pertanto, se hai dimestichezza con LINQ, puoi eseguire ricerche nella cache come faresti con NCache SQL.

 

Read-through, write-through, caricatore/aggiornamento della cache

Molte persone utilizzano In-Memory Distributed Store come una "cache laterale" in cui recuperano i dati direttamente dal database e li inseriscono nella cache. Un altro approccio è "cache through" in cui l'applicazione richiede semplicemente i dati alla cache. E, se i dati non sono presenti, In-Memory Distributed Store li ottiene dall'origine dati.

La stessa cosa vale per il write-through. Il write-behind non è altro che un write-through in cui la cache viene aggiornata immediatamente e il controllo viene restituito all'applicazione client. Inoltre, il database o l'origine dati vengono aggiornati in modo asincrono, quindi l'applicazione non deve attenderli.

NCache fornisce potenti capacità in quest'area.

Area delle funzionalità NCache
Lettura

NCache consente di implementare più gestori di lettura e registrarsi nella cache come "provider denominati". Quindi, il cliente può dirlo NCache per utilizzare una lettura specifica in caso di "cache miss".

NCache consente inoltre di aggiungere gestori di lettura in fase di esecuzione senza interrompere la cache.

Scrivi attraverso, scrivi dietro

NCache consente di implementare più gestori write-through e registrarsi con NCache come “fornitori nominati”. Quindi, ogni volta che l'applicazione aggiorna un elemento memorizzato nella cache e lo informa NCache chiamare anche write-through, NCache server chiama il tuo gestore di scrittura.

Se hai abilitato il write-behind, allora NCache aggiorna immediatamente la cache e mette in coda l'aggiornamento del database, mentre un thread in background lo elabora e chiama il gestore write-through.

Ricaricamento automatico alla scadenza e sincronizzazione DB (read-thru)

Se hai implementato un gestore di lettura, NCache ti permette di usarlo per specificare che ogni volta che un elemento memorizzato nella cache scade, invece di rimuoverlo dalla cache, NCache dovrebbe chiamare il tuo gestore di lettura per leggere una nuova copia di quell'oggetto e aggiornare la cache con esso.

È possibile specificare lo stesso quando la sincronizzazione del database è abilitata, una riga nel database viene aggiornata e un elemento memorizzato nella cache corrispondente verrebbe rimosso dalla cache ma ora viene ricaricato con l'aiuto della lettura.

Caricatore

NCache consente di implementare un caricatore e registrarlo con il cluster di cache. NCache quindi lo chiama per prepopolare la cache all'avvio.

Cache Loader è il tuo codice che legge i dati dall'origine dati/database e popola la cache all'avvio.

aggiornamento

NCache ti consente di implementare un aggiornamento che ti consente di sincronizzare il tuo database con la cache a intervalli regolari. Questo processo viene eseguito in background e non influisce sulle prestazioni dell'applicazione.

 

Sincronizzazione con le origini dati

La sincronizzazione del database è una funzionalità molto importante per qualsiasi buon archivio distribuito in memoria. Poiché la maggior parte dei dati memorizzati nella cache provengono da un database relazionale, ci sono sempre situazioni in cui altre applicazioni o utenti potrebbero modificare i dati e far sì che i dati memorizzati nella cache diventino obsoleti.

Per gestire queste situazioni, un buon archivio distribuito in memoria dovrebbe consentire di specificare le dipendenze tra gli elementi memorizzati nella cache e i dati nel database. Quindi, ogni volta che i dati nel database cambiano, la cache ne viene a conoscenza e invalida i suoi dati o ricarica una nuova copia.

Inoltre, una buona cache dovrebbe consentirti di sincronizzare la cache con origini dati non relazionali poiché anche la vita reale è piena di queste situazioni.

NCache fornisce una funzionalità di sincronizzazione del database molto potente.

Area delle funzionalità NCache
Dipendenza SQL
(Server SQL)

NCache fornisce il supporto SqlDependency per SQL Server. È possibile associare un elemento memorizzato nella cache a un set di dati basato su istruzioni SQL nel database SQL Server. Quindi ogni volta che il set di dati cambia (aggiunta, aggiornamento o rimozione), MS SQL invia una notifica di dati a NCache ed NCache invalida questo elemento memorizzato nella cache o lo ricarica se lo hai abilitato con ReadThrough.

Questa funzionalità consente di sincronizzare la cache con il database di SQL Server. Se hai una situazione in cui alcune applicazioni o utenti aggiornano direttamente i dati nel database, puoi abilitare questa funzione per assicurarti che la cache rimanga aggiornata.

Dipendenza da Oracle (Oracle)

NCache fornisce il supporto OracleDependency per Oracle. È possibile associare un elemento memorizzato nella cache a un set di dati basato su istruzioni SQL nel database Oracle. Quindi, ogni volta che il set di dati cambia (aggiunta, aggiornamento o rimozione), Oracle invia una notifica sui dati a NCache ed NCache invalida questo elemento memorizzato nella cache o lo ricarica se lo hai abilitato con ReadThrough.

Questa funzionalità consente di sincronizzare la cache con il database Oracle. Se ti trovi in ​​una situazione in cui alcune applicazioni o utenti aggiornano direttamente i dati nel database, puoi abilitare questa funzionalità per garantire che la cache rimanga aggiornata.

Dipendenza Db (qualsiasi DB)

NCache fornisce supporto per sincronizzare la cache con qualsiasi database OLEDB. Questa sincronizzazione si basa sul polling. E, sebbene non sia in tempo reale come una notifica del database, è più efficiente.

È più efficiente perché, in un sondaggio, NCache può sincronizzare migliaia di elementi memorizzati nella cache invece di ricevere migliaia di notifiche di database individuali da Oracle nel caso di OracleDependency.

Dipendenza da file

NCache consente di specificare una dipendenza da un file esterno. Quindi NCache controlla questo file per eventuali aggiornamenti e quando ciò accade, NCache invalida l'elemento memorizzato nella cache corrispondente.

Ciò consente di mantenere sincronizzato l'elemento memorizzato nella cache con un'origine dati non relazionale.

Dipendenza personalizzata
(Qualsiasi fonte)

NCache ti consente di implementare una dipendenza personalizzata e di registrare il tuo codice con il cluster di cache. Quindi, NCache chiama il tuo codice per monitorare alcune origini dati personalizzate per eventuali modifiche.

Quando si verificano modifiche, si attiva un aggiornamento delle dipendenze all'interno NCache che fa sì che l'elemento memorizzato nella cache corrispondente venga rimosso dalla cache.

Questa funzionalità è utile quando è necessario sincronizzare l'elemento memorizzato nella cache con un'origine dati non relazionale che non può essere acquisita da un file flat. Quindi, la dipendenza personalizzata gestisce questo caso.

 

Gestione delle relazioni di dati

Poiché la maggior parte dei dati memorizzati nella cache proviene da database relazionali, ha relazioni tra vari elementi di dati. Pertanto, una buona cache dovrebbe consentire di specificare queste relazioni nella cache e quindi mantenere l'integrità dei dati. Dovrebbe consentire di gestire automaticamente le relazioni di dati uno-a-uno, uno-a-molti e molti-a-molti nella cache senza appesantire l'applicazione con questa attività.

Area delle funzionalità NCache
Dipendenza della cache basata su chiave

È possibile specificare che l'elemento memorizzato nella cache A dipenda dall'elemento memorizzato nella cache B, che a sua volta dipende dall'elemento memorizzato nella cache C.

Quindi, se C viene aggiornato o rimosso, B viene automaticamente rimosso dalla cache e ciò attiva anche la rimozione di A dalla cache. E tutto questo viene fatto automaticamente dalla cache.

Con questa funzione, puoi tenere traccia delle relazioni uno-a-uno, uno-a-molti e molti-a-molti nella cache e invalidare gli elementi memorizzati nella cache se i relativi elementi vengono aggiornati o rimossi.

Dipendenza multi-cache basata su chiave

Questa è un'estensione della dipendenza della cache basata su chiave, tranne che ti consente di creare questa dipendenza su più cache.

 

Eventi e interrogazione continua

Area delle funzionalità NCache
Eventi a livello di oggetto
(suInserisci / suRimuovi)

NCache può inviare eventi ai propri clienti, ogni volta che specifici elementi memorizzati nella cache vengono aggiornati o rimossi in base all'interesse del cliente.

È possibile registrare i callback Java e .NET con NCache client e le richiamate vengono chiamate in questi casi.

NCache utilizza il proprio protocollo a livello di socket per la propagazione di questo evento, quindi è super veloce.

Eventi a livello di cache
(Aggiungi/Inserisci/Rimuovi)

Se attivato, NCache invia notifiche di eventi a tutti i client ogni volta che un elemento viene aggiunto, aggiornato o rimosso dalla cache.

È possibile registrare i callback Java e .NET con NCache client e le richiamate vengono chiamate in questi casi.

Interrogazione continua

NCache fornisce una potente funzionalità di query continua (CQ). CQ ti consente di specificare una query SQL rispetto alla quale NCache monitora la cache per eventuali aggiunte, aggiornamenti o eliminazioni. E la tua applicazione viene notificata ogni volta che ciò accade.

Pensa a questa funzionalità come equivalente a OracleDependency ma rispetto alla cache e non al database.

 

Messaggistica Pub/Sub (stile Kafka)

Area delle funzionalità NCache
Argomento

NCache consente alle tue applicazioni di eseguire messaggi in stile Pub/Sub in stile Kafka tramite Topic.

Fare la coda

NCache consente alle tue applicazioni di eseguire messaggi in stile Pub/Sub in stile Kafka tramite Queue.

Abbonamenti durevoli

L'abbonamento duraturo consente ai clienti di disconnettersi da NCache per qualsiasi motivo per non perdere i propri messaggi. Quando si riconnettono, vedono tutti i messaggi inviati mentre erano disconnessi.

Persistenza del messaggio

NCache ti consente di rendere persistenti tutti i messaggi nella sua messaggistica Pub/Sub.

Partizionamento degli argomenti

NCache ti consente di mappare un argomento su una o più partizioni (in stile Kafka). Poi, NCache garantisce che all'interno di ogni partizione tutti i messaggi pubblicati su questo argomento siano sempre ordinati in modo che possano essere utilizzati nello stesso modo. Questo è molto simile al comportamento di Kafka.

Sequenza dei messaggi

Dopo aver mappato un argomento su una partizione, quindi, NCache garantisce che all'interno di ciascuna partizione tutti i messaggi pubblicati su questo argomento siano sempre sequenziati in modo che possano essere utilizzati nello stesso modo. Questo è molto simile al comportamento di Kafka.

Garanzia di consegna dei messaggi

NCache ti consente di scegliere un'opzione di consegna del messaggio, in cui può garantire che il messaggio rimarrà nell'argomento Pub/Sub finché non verrà consegnato come desiderato.

Gestione dello schema

NCache ti consente di eseguire la gestione dello schema nella sua messaggistica Pub/Sub (in stile Kafka).

Streaming in tempo reale
(stile Kafka)

NCache ha preso i flussi Kafka open source e ha implementato un NCache Provider di messaggistica Pub/Sub per questo. Ciò significa che puoi utilizzare i popolari Kafka Streams (.NET e Java) contro NCache che è molto più veloce di Kafka perché è un archivio distribuito in memoria.

Ricerca di testo completo

Area delle funzionalità NCache
Ricerca di testo completo
(API Lucene)

NCache fornisce la ricerca di testo completo tramite Lucene standard del settore. NCache ha implementato Lucene nel suo In-Memory Distributed Store in modo che sia super veloce e scalabile in modo lineare.

Applicazione dello schema

NCache fornisce l'applicazione dello schema nella sua ricerca a testo completo con Lucene standard del settore. In questo modo, puoi assicurarti che tutti i documenti indicizzati aderiscano a uno schema.

Migrazione dell'indice

NCache fornisce la migrazione dell'indice nella ricerca di testo completo con Lucene standard del settore. In questo modo puoi salvare i tuoi indici Lucene esistenti NCache Ricerca nel testo completo.

Ingestione dei dati

NCache fornisce l'inserimento dei dati nella ricerca di testo completo con Lucene standard del settore. In questo modo, puoi facilmente inserire molti dati dalle tue origini dati esistenti NCache Indici di ricerca full-text.

 

Elaborazione e analisi dei big data

Area delle funzionalità NCache
Query di riduzione mappa

NCache fornisce un framework MapReduce in cui il tuo programma può essere eseguito su server cache per l'elaborazione parallela di Big Data.

Aggregatori

NCache fornisce un aggregatore che funziona con il framework MapReduce e fornisce dati statistici.

Processore di ingresso

NCache supporta completamente l'esecuzione del processore di ingresso sui nodi della cache in parallelo.

 

Gestione delle dimensioni della cache (politiche di sfratto)

Area delle funzionalità NCache
Dimensione massima della cache (in MB) supportato
Sfratti della LRU
(Utilizzato meno di recente)
supportato
Sfratti della LFU
(Utilizzato meno frequentemente)
supportato
Sfratti prioritari

NCache consente inoltre di specificare una priorità "non sfrattare" per alcuni elementi memorizzati nella cache in modo che non vengano sfrattati.

Non sfrattare l'opzione

NCache ti consente di specificare l'opzione "non eliminare" per l'intera cache. Quindi, nulla viene eliminato anche quando la cache è piena. Le applicazioni client ricevono invece un errore che indica che la cache è piena quando tentano di aggiungere dati alla cache.

Si prega di leggere di più su NCache e anche scaricare una chiave di installazione gratuita di 30 giorni per NCache.

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.