Dopo una facile migrazione a NCache, ha iniziato a comportarsi come il collante che tiene insieme la nostra applicazione. E le varie funzionalità che offre sono state un vero vantaggio, soprattutto le code, che abbiamo sfruttato eccessivamente.
Paese o Regione:
Europa
Settore:
Difesa militare
Profilo Aziendale:
Si tratta di un dipartimento di difesa europeo che lavora per creare un collegamento tra diverse nazioni, consentendo loro di consultarsi e collaborare su progetti di sicurezza e coordinando le attività di gestione delle crisi internazionali.
Tali organizzazioni richiedono elevata disponibilità, coerenza dei dati e facile gestione delle attività. Questa organizzazione in particolare ha progettato un'applicazione di tracciamento ad uso dei propri dipendenti per gestire informazioni e attività tra diversi dipartimenti. I dipendenti accedono all'applicazione e inseriscono le loro attività quotidiane. Ogni dipartimento competente può supervisionare i dipendenti e verificare lo stato delle loro attività. L'azienda precedentemente utilizzata Redis per i loro processi di sviluppo, ma hanno dovuto affrontare limitazioni nella distribuzione sui propri server. Inoltre, in qualità di principale contributore alla pace sulla scena internazionale, volevano migliorare la loro applicazione di monitoraggio per essere informati di eventuali cambiamenti avvenuti in tempo reale.
Richiedono un buon meccanismo di memorizzazione nella cache. Hanno valutato Redis. Lo hanno scoperto in una fase iniziale Redis non soddisfaceva i requisiti della struttura dei dati, il che significa che non potevano eseguire la distribuzione Redis nel loro quartier generale. Inoltre, la migrazione a Redis non è stato così facile come si poteva pensare, Redis non soddisfaceva i requisiti tecnici dell'organizzazione. Redis è sviluppato in C++ su Linux. Inoltre, non è ufficialmente supportato su Windows. Poiché l'applicazione dell'organizzazione è stata creata utilizzando .NET 6, l'integrazione di un prodotto che non è .NET nativo può causare problemi.
NCache fornisce loro una soluzione in memoria flessibile e scalabile per le loro applicazioni a livello singolo insieme alle sue funzionalità avanzate. Stanno riscontrando notifiche di modifica dei dati più veloci per elaborarle e lavorarci sopra.
È stata una migrazione facile da Redis a NCache ed è stato piuttosto semplice.
Qualunque sia la loro applicazione sembra mancare, NCache fornito le soluzioni ottimali come soluzione.
Le modifiche non pianificate o la manutenzione pianificata non influiranno sulle prestazioni dell'applicazione poiché utilizza la topologia della cache replicata: se un nodo è inattivo, l'altro nodo lo compensa. I requisiti della struttura dei dati dell'organizzazione sono stati soddisfatti da NCache Code molto intuitive e facili da implementare. Dal SignalR backplane al caricatore della cache, al provider dell'origine di supporto (Read-Through) e NCache serrature; l'applicazione di monitoraggio beneficia di tutte queste potenti funzionalità di NCache.
Inoltre, NCache è una soluzione di caching distribuita nativa .NET che può essere distribuita su Linux e Windows. Questo li ha aiutati con il loro dispiegamento, come Redis supporta solo Linux. La maggior parte delle applicazioni .NET vengono eseguite su Windows e ora .NET Core le applicazioni possono essere eseguite sia su Windows che su Linux. Pertanto, è diventato essenziale garantire che le loro cache distribuite forniscano anche supporto per entrambi questi sistemi operativi. E NCache essendo una delle migliori soluzioni di memorizzazione nella cache, fornisce questo supporto.
Alachisoft Prodotti:
NCache
Esigenze del cliente soddisfatte:
L’architettura dell’applicazione è composta principalmente dai seguenti componenti:
Per uno sguardo più attento all'applicazione, l'API Web contiene il servizio Action, Notification Hub insieme a SignalR. NCache funge da hub centrale tra le diverse parti dell'applicazione. L'utente accede utilizzando ADFS (Active Directory Federation Services), va al front-end e chiama l'API Web. L'API Web è responsabile della creazione di questa azione e della sua immissione in coda all'interno del file NCache. Il servizio Action esegue più operazioni come il polling della coda, l'elaborazione dell'oggetto tasker, ecc.
Se è presente un elemento all'interno di Action Service, lo elaborerà. Nell'ambito dell'elaborazione, Action Service invia anche le notifiche tramite un Notification Hub. Questo servizio di azione modifica lo stato dell'oggetto dati "Tasker" - in caso di modifica dello stato dei dati in cui possono essere aggiunti nuovi dati o i dati aggiunti in precedenza vengono aggiornati. Ciò aiuta gli utenti ad analizzare l'elaborazione e invia notifiche a tutti gli utenti interessati interessati da tale modifica. L'applicazione dispone anche di un servizio di collaborazione per gestire le attività utilizzando SharePoint.
Attualmente, l'applicazione utilizza 2 server con carico bilanciato che ospitano il front-end, il livello logico e NCache. Inoltre, è presente 1 server database per supportare i server. Hanno 1 cache generale in cui memorizzano le code che memorizza nella cache anche alcuni dati di riferimento. Hanno anche altre 2 cache per la memorizzazione di dati statici, ovvero "attività". La cache generale e le cache statiche hanno entrambe un Backing Source (Read-Through) e un Loader implementati.
L'organizzazione estende l'utilizzo dell'applicazione con SignalR backplane. Quando più utenti utilizzano l'app Web, attendono il feedback sull'oggetto tasker. Il feedback viene fornito tramite un hub di notifica che usa SignalR. Ciò ha eliminato la necessità di aggiornare ogni volta la pagina Web per richiedere nuovi messaggi.
È possibile creare applicazioni Web ASP.NET in tempo reale con SignalR, in cui il server trasmette gli aggiornamenti a tutti gli utenti che hanno effettuato l'accesso non appena viene attivato un aggiornamento. In questo modo si riduce il tempo di risposta alle richieste di aggiornamenti degli utenti. NCache offre supporto per SignalR fornendo un'estensione al provider SignalR. Il provider ha registrazioni di tutti i server web interessati dall'applicazione.
Hanno utilizzato eccessivamente la struttura dei dati della coda fornita da NCache. Le code vengono archiviate nella cache generale per mantenere le informazioni elaborate in fase di runtime. L'API Web aggiunge un nuovo elemento alla coda. Quindi Action Service esegue il polling della coda e, se viene trovato un nuovo elemento, esegue i processi richiesti. L'intera coda è archiviata in NCache. Ogni volta che devono prendere un oggetto, non devono attraversare l'intera coda poiché questo non è solo un processo lento ma anche costoso. NCache utilizza i riferimenti per ottenere l'elemento richiesto che non influisce sulle prestazioni.
La struttura dati Queue viene fornita con diverse API come GetQueue, che controlla se un elemento esiste o meno nella cache con l'aiuto del metodo Contiene. Allo stesso modo, ottenere l'elemento più in alto da una coda, copiare un'intera coda di origine nell'array unidimensionale, rimuovere elementi dalla coda, registrare eventi (strutture basate su chiavi e dati), bloccare e sbloccare le code per la coerenza dei dati: tutte queste sono le altre caratteristiche che NCache offerte con la struttura dati Queue.
L'organizzazione introduce anche l'uso della serratura offerta da NCache. Ad esempio, potrebbero bloccare la coda ogni volta che l'utente la legge o la scrive, diciamo per circa 20 secondi utilizzando l'API Lock in modo da mantenere l'integrità dei dati. Se la coda richiesta è libera e pronta per essere nuovamente utilizzata, l'utente la sblocca utilizzando l'API Unlock. Quando parliamo di aggiornamenti simultanei, NCacheLa funzione di blocco di è pronta per servire e garantire l'integrità e la coerenza dei dati.
Chi siamo Alachisoft:
Alachisoft fornisce una popolare cache distribuita in memoria ad alte prestazioni chiamata NCache. NCache è un middleware Open Source che viene eseguito nell'ambiente di produzione e migliora le prestazioni e la scalabilità delle app Web .NET, delle app di servizio SOA e delle app generali del server ad alto traffico. Dal 2005, NCache ha una comprovata esperienza con centinaia di clienti in tutto il mondo e specialmente negli Stati Uniti, nel Regno Unito e nell'Europa occidentale.
Puoi scaricare una versione di prova gratuita di 30 giorni completamente funzionante di NCache da qui.
Alachisoft
Sede aziendale
12005 Ford Road, Suite 520
Dallas, TX 75234
US: +1 (214) 764-6933
UK: + 44 207 993-8327
sales@alachisoft.com
support@alachisoft.com
Hanno utilizzato il provider Read-Through implementato nell'archivio generale delle cache statiche dell'applicazione, per recuperare i dati dall'origine dati nel caso in cui non fossero presenti nella cache. Ciò riduce al minimo i viaggi di rete aggiuntivi al database. NCache offre un provider Read-Through che consente agli utenti di comunicare con l'origine dati. Nella cache Read-Through, in caso di cache miss, NCache contatterà il provider per caricare i dati dietro la chiamata di ricezione.
Il provider Read-Through viene configurato utilizzando il file IReadThruProvider per .NET. Se un elemento non può essere trovato nella cache, i metodi Carica da origine ed Caricatipodatidaorigine fornire la logica per caricare l'oggetto o il tipo di dati dall'origine dati definita.
NCache fornisce un'altra potente funzionalità, il Caricatore di avvio della cache che hanno utilizzato nella loro applicazione di tracciamento. L'applicazione precompila i dati nella cache all'avvio. Ciò non solo consente di risparmiare sui costi di rete, ma rende anche i dati altamente disponibili. Lo scopo del Cache Loader è evitare la latenza anche sulla richiesta iniziale, ma poiché il Cache Loader viene eseguito su un altro servizio, è tecnicamente asincrono. L'applicazione di tracciamento mantiene sempre i dati utilizzati più frequentemente nella cache all'avvio. Questa funzionalità ha contribuito a migliorare le prestazioni dell'applicazione, oltre a gestire la velocità effettiva delle richieste.
L'organizzazione ne trae vantaggio NCache in numerosi ambiti, come spiegato sopra. Come parte della loro crescita futura, stanno pianificando di utilizzare NCache, insieme alle notifiche degli eventi e alla messaggistica Pub/Sub, poiché Action Service deve eseguire ogni volta un polling per verificare la presenza di aggiornamenti. NCache è in grado di gestire tutto questo per loro senza perdere prestazioni.