Introduzione alla NCache

NCache è una cache distribuita in memoria open source per applicazioni basate su .NET e Java. NCache ti aiuta a raggiungere velocità transazionali estremamente elevate per le tue app mission-critical con facilità di scalabilità lineare.

Datastore in memoria distribuito

NCache è un datastore open source estremamente veloce e scalabile grazie alla sua natura in-memory e all'architettura distribuita. È l'unico .NET al 100% / .NET Core soluzione sul mercato poiché altre soluzioni sono basate su C++ e Linux, il che lo rende molto adatto allo stack .NET delle tue applicazioni. È la soluzione di memorizzazione nella cache preferita nella comunità degli sviluppatori .NET, il che la rende un leader del mercato .NET negli ultimi 15 anni.

Di quali applicazioni .NET hanno bisogno NCache?

Molto probabilmente trarrai vantaggio dall'utilizzo NCache se la tua candidatura appartiene a una delle seguenti categorie:

  • Applicazioni Web (ASP.NET/ASP.NET Core)
  • Applicazioni dei servizi Web (.NET)
  • Applicazioni di microservizi (.NET)
  • Altre applicazioni server (.NET)

A cosa serve NCache?

Gestione di carichi di transazione estremi: La tua applicazione deve elaborare quantità estreme di transazioni durante le ore di punta. NCache ti consente di gestire tutto quel carico transazionale senza tempi di inattività.

Siti web rivolti ai clienti: Le attività di vendita al dettaglio che effettuano la maggior parte delle transazioni principalmente tramite un sito Web rivolto ai clienti o un negozio online o un'attività puramente e-commerce che vende i tuoi prodotti online, possono fare affidamento su NCache per alta disponibilità. Allo stesso modo, NCache possono beneficiare delle principali compagnie aeree che vendono biglietti e prenotazioni dal sito Web o da un sito Web di giochi o scommesse online in Europa in cui i clienti accedono durante i principali eventi sportivi per piazzare scommesse in tempo reale.

Attività di elaborazione in background: Un'azienda che deve elaborare molte transazioni in background, come le banche che elaborano i bonifici dei clienti o una società di carte di credito che monitora le transazioni dei clienti per rilevare le frodi. Allo stesso modo, un'azienda di logistica, che monitora molti veicoli in tempo reale o un'azienda di servizi pubblici che monitora molti dispositivi in ​​tempo reale e ne analizza il comportamento, possono utilizzare NCache per garantire la memorizzazione nella cache dei dati a prova di errore.

Se sei una di queste aziende o una miriade di altre attività simili, non puoi permetterti di rallentare l'applicazione durante le ore di punta perché il costo per la tua attività è molto alto. Sfortunatamente, molte applicazioni rallentano perché il database non è in grado di far fronte a carichi di transazioni così elevati e diventa un collo di bottiglia. Il motivo è diverso dal livello dell'applicazione in cui è possibile aggiungere più server all'aumentare del carico delle transazioni, non è possibile aggiungere più server al livello del database.

NCache - La soluzione

La soluzione a questo problema è usare NCache per memorizzare nella cache i dati dell'applicazione e per archiviare in essa anche tutti i dati temporanei o temporanei. A differenza del tuo database, NCache è distribuito e consente di creare un livello di memorizzazione nella cache di due o più server e di raggruppare la memoria e la CPU di tutti i server di cache in un'unica capacità logica. NCache quindi ti consente di aggiungere più server a questo livello di memorizzazione nella cache all'aumentare del carico delle transazioni.

NCache

Come risultato, NCache può scalare linearmente e non diventa mai un collo di bottiglia delle prestazioni. Oltre a questo, dal momento che NCache è totalmente in memoria, è super veloce. Puoi usare NCache in tre modi diversi.

  1. È possibile memorizzare nella cache i dati dell'applicazione NCache per ridurre i viaggi del database dell'80-90% assicurandosi che il database non sia più un collo di bottiglia delle prestazioni.
  2. È possibile memorizzare il proprio ASP.NET/ASP.NET Core Sessioni in NCache perché è estremamente veloce e scalabile e anche perché replica le sessioni su più server per un'elevata disponibilità
  3. Puoi usare NCache come piattaforma di messaggistica ed eventi Pub/Sub semplice ma potente e coordina il lavoro tra più applicazioni server senza problemi.

Caratteristiche principali

Diamo una rapida occhiata alle caratteristiche che NCache offre per garantire la scalabilità lineare rimuovendo i colli di bottiglia delle prestazioni.

Caratteristica: Mantieni la cache fresca

NCache ha diversi modi per aiutarti a mantenere i dati della cache il più aggiornati possibile senza che la tua applicazione debba tenere traccia di tutto questo. Puoi utilizzare le scadenze Absolute e Sliding per rimuovere automaticamente i dati dalla cache.

Caratteristica: ricerca SQL

Puoi anche avere NCache si sincronizza automaticamente con il database SQL se i dati vengono modificati nel database da altre applicazioni. Puoi anche specificare le relazioni uno a molti e uno a uno dei dati nella cache in modo che l'integrità dei dati non venga violata quando la cache viene aggiornata.

Se stai mettendo molti dati nella cache, allora NCache ti consente di cercarlo in base ad attributi, gruppi, tag e tag con nome dell'oggetto. Questo rende davvero facile trovare i tuoi dati. È possibile utilizzare query SQL o LINQ per eseguire ricerche nella cache e NCache crea anche indici per velocizzare le tue ricerche.

Caratteristica: codice lato server

NCache è l'unica soluzione nello spazio .NET a darti funzionalità di codice lato server. Puoi implementare Read-Thru per consentire alla tua cache di recuperare i dati dal tuo database e quando lo combini con la funzione di caricamento automatico, NCache ricarica automaticamente i dati durante le esplorazioni o durante la sincronizzazione del database. Puoi anche implementare Write-Thru per consentire alla cache di aggiornare il database per te.

Il write-behind aggiorna il database in modo asincrono in modo che l'applicazione non debba attenderlo. Infine, un Cache Loader precarica automaticamente la cache all'avvio.

Funzionalità: cache client (velocità InProc)

NCache è l'unica soluzione in .NET a fornire una funzionalità di cache client chiamata anche "Near Cache". Ti offre prestazioni InProc come se i dati della cache fossero conservati all'interno del processo di applicazione. La cache del client è una cache locale dell'applicazione ma rimane sincronizzata con il livello di memorizzazione nella cache per tutti gli aggiornamenti di altre applicazioni o altri utenti. La cache del client offre alla tua applicazione un notevole aumento delle prestazioni.

Velocità InProc

Caratteristica: replica WAN della cache

Se la tua applicazione viene distribuita in più data center, più regioni di Azure o più zone di disponibilità AWS, allora NCache ti consente di replicare la cache attraverso la WAN senza rallentare l'applicazione in nessuna delle due posizioni. Puoi distribuire NCache in una configurazione di data center Attivo-Passivo o Attivo-Attivo.

Attivo passivo
Attivo passivo
Attivo-attivo
Attivo-attivo

Opzioni di distribuzione

.NET Framework Assistenza

Come già sai, NCache è 100% .NET / .NET Core soluzione vediamo che tipo di supporto .NET ha e vediamo anche diversi modi in cui puoi distribuire NCache. NCache fornisce un client cache con supporto completo da entrambi .NET Framework con cose come:

  • Entità Framework 6.x
  • NHibernate Cache
  • Sessione ASP.NET
  • Visualizza stato
  • Cache di output
  • ASP.NET SignalR

.NET Core Assistenza

Nel .NET Core, NCache suppone:

  • Cache principale di EF
  • ASP.NET Core Sessione
  • Cache di risposta
  • IDistributedCache
  • ASP.NET Core Segnale R

NCache Server (100% .NET)

Proprio come il client cache, NCache anche il server è al 100% .NET / .NET Core. Nessun'altra soluzione ha questo in quanto altri sono C++ o Linux. NCache il server supporta sia .NET che .NET Core e attraverso il .NET core Edizione, puoi distribuire NCache nelle capacità sotto indicate:

  • Windows Server/Nano Server/Linux
  • Installazione in locale su Windows e Linux
  • Come VM in Azure e nel cloud AWS attraverso i loro marketplace
  • Come cache gestita Cloud Service Client in Azure e tramite AWS NCacheproprio Cloud Portal
  • Scarica un'immagine della finestra mobile di NCache dall'hub Docker
  • Crea la tua immagine Docker cliente di NCache tramite file Docker

Cosa fare dopo?

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