Argomento di studio - NCache Fornisce prestazioni e scalabilità ai primi 5 produttori di auto

Immagine di intestazione dell'automobile

Ci siamo concentrati su NCache perché ci piace il modo in cui migliora le prestazioni delle applicazioni e come soddisfa tutte le nostre esigenze di memorizzazione nella cache.

Team Lead
Architetto di sistemi
 

Paese o Regione:
Germania

Settore:
Finanza automobilistica

Profilo Aziendale:
Uno dei primi cinque produttori di automobili premium è stato fondato in Germania. Producono le loro automobili da molto tempo e hanno consegnato con successo circa milioni di automobili entro la fine del 2018, comprese motociclette e automobili.

NCache consente a questa casa automobilistica di mantenere un'elevata disponibilità e di accelerare i tempi di risposta della propria applicazione di servizi finanziari automobilistici.

Scarica PDF

Introduzione

L'industria delle finanze automobilistiche è una delle più grandi industrie del mondo. Con una vasta base di clienti, hanno la loro rete diffusa in tutto il mondo. Una delle prime cinque case automobilistiche, con centinaia di concessionari in tutti gli Stati Uniti e decine di migliaia di clienti, ha bisogno di elevata disponibilità e scalabilità all'interno delle proprie applicazioni di finanziamento automobilistico per l'uso quotidiano. In qualità di produttore automobilistico leader, il loro obiettivo principale è fornire un servizio di valore per i loro concessionari e clienti finali fornendo un meccanismo di accesso ai dati rapido e affidabile.

La loro applicazione è divisa in due parti. Il primo è un sistema di avvio interattivo per il portale self-service rivolto ai clienti e il secondo è un portale rivolto ai rivenditori per la gestione dei servizi finanziari. I servizi finanziari comprendono la gestione dei prestiti, i piani di pagamento, i piani di rateizzazione e la gestione dei contratti. I molteplici sistemi gestiti dalla loro applicazione sono:

  • Sistema di iniziazione: questo serve allo scopo di parlare con il rivenditore e firmare un contratto di prestito per l'acquisto di un'automobile.
  • Sistema di gestione dei contratti: un sistema di gestione dell'account che attraversa la vita dell'automobile.
  • Servizio self-service per il cliente: un portale self-service per il cliente che fornisce informazioni di base sui prezzi e sui dettagli di acquisto.

Un sistema diversificato con un gran numero di utenti finali e molteplici funzionalità richiede una consegna dei dati ad alta velocità insieme a coerenza nel loro sito di fronte al pubblico.

 

Le sfide

Con applicazioni transazionali elevate, la sfida principale è mantenere una velocità elevata e un'elevata disponibilità dei dati. L'applicazione fa molto affidamento sul database relazionale di back-end e diventa un collo di bottiglia in termini di prestazioni e scalabilità con un carico transazionale elevato. Con centinaia di migliaia di utenti finali, c'è un carico di richieste elevato che causa prestazioni lente. Inoltre, gli utenti finali si trovano in fusi orari diversi. Il carico si sposta sulle regioni causando così un aumento dei carichi transazionali sul database. Si traduce in un impatto negativo sull'utente e un costo aziendale associato.

A parte questo, con oggetti dati di grandi dimensioni la trasmissione dei dati sulla rete diventa molto lenta. I viaggi di rete sono molto costosi per oggetti di dati di grandi dimensioni e influiscono sulle prestazioni complessive dell'applicazione. I dati statici possono essere mantenuti in memoria per evitare che il database viaggi ogni volta che viene effettuata una richiesta. Ciò riduce i viaggi di rete poiché sono di natura costosa. Tuttavia, i dati in memoria devono essere sincronizzati con il database poiché esistono due copie separate dei dati e possono perdere la sincronizzazione. Pertanto, la sincronizzazione dei dati è un'altra sfida che la loro applicazione deve affrontare.

Alachisoft Prodotti:
NCache

Esigenze del cliente soddisfatte:

  • Alta disponibilità
  • Consistenza
  • Stabilità
  • Affidabilità
 

NCache è la soluzione solida!

NCache fornisce loro una soluzione flessibile e scalabile per la loro applicazione multi-livello insieme alle sue funzionalità avanzate. Memorizzazione nella cache dei dati utilizzati di frequente utilizzando NCache non solo accelera il tempo di risposta dell'applicazione, ma salva anche i viaggi del database ogni volta che viene effettuata una richiesta. Stanno sperimentando un accesso ai dati più rapido e stabilità sulla loro applicazione con NCache come livello di memorizzazione nella cache. NCache offre loro la facilità di aggiungere più server nel livello di memorizzazione nella cache per aumentare la soglia di gestione delle richieste dell'applicazione. Aiuta con la sistemazione dell'aumento del carico di richiesta sull'applicazione.

Non ci sono tempi di inattività e nessuna perdita di dati utente con NCache configurazione dell'applicazione sempre attiva per il loro sistema mission-critical. In questo modo, le interruzioni non pianificate o la manutenzione pianificata non influiscono sulle prestazioni dell'applicazione.

 

Panoramica architettonica

L'architettura dell'applicazione comprende i seguenti componenti:

  • Applicazione self-service del cliente (ASP.NET)

    È un portale rivolto al cliente progettato in ASP.NET. Viene utilizzato dai clienti.

  • App per la gestione dei prestiti e dei contratti per i concessionari (ASP.NET)

    È per i rivenditori e progettato anche in ASP.NET.

  • Servizi middleware (servizi Web .NET)

    Questo livello comprende una serie di servizi utilizzati per l'accesso ai dati. Le applicazioni sul front-end comunicano con il middleware per i servizi. Questo livello gestisce tutta la memorizzazione nella cache per l'applicazione.

Per uno sguardo più attento all'applicazione, la loro applicazione web include un portale web pubblico che viene utilizzato dai clienti e dai concessionari per quanto riguarda i servizi finanziari per le automobili. Il portale clienti self-service conserva le informazioni su prestiti, piani di pagamento, prezzi, ecc. I rivenditori in tutto il paese utilizzano il portale rivolto ai rivenditori che conserva le informazioni sulla storia creditizia dell'utente, sui piani di rata e sulla gestione dei contratti.

Il livello di servizio middleware ha una serie di servizi SOAP WCF responsabili dell'accesso ai dati dal database back-end. Si compone di 12-17 server e qui è dove NCache viene usato. L'applicazione Web front-end comunica con il middleware per richieste quali record utente, dettagli sui prezzi e gestione dei prestiti ecc.

Cache distribuita che riduce la latenza di rete e aumenta i tempi di risposta
Figura 1 - Cache distribuita che riduce la latenza di rete e aumenta il tempo di risposta

Il livello di memorizzazione nella cache è un livello dedicato di 4 server cache che risiedono fisicamente molto vicino ai server Web in modo che si trovino sulla stessa rete. Ciò riduce la latenza della rete e migliora il tempo di risposta della richiesta.

Una delle informazioni principali che stanno memorizzando nella cache sono le complesse informazioni sui prezzi che contengono una serie di parametri come anno di produzione, modello, regioni ecc.

Stanno usando SQL Server come database relazionale sul back-end. Il diagramma seguente illustra visivamente l'architettura dell'applicazione. Hanno circa 400-500 rivenditori dislocati in tutti gli Stati Uniti. Il loro carico di rete si sposta quindi rispetto agli utenti attivi. Hanno inoltre spiegato che le loro applicazioni sono molto transazionali con 2-3 milioni di transazioni al secondo.

 

Alte prestazioni e scalabilità

NCache è estremamente veloce e scalabile con una soluzione di cache distribuita. I dati che risiedono NCache evita all'applicazione di effettuare viaggi costosi nel database. Eseguono complessi calcoli dei prezzi sul loro oggetto di determinazione dei prezzi e quindi memorizzano nella cache questi dati NCache. Ciò li ha aiutati a migliorare le prestazioni delle applicazioni e ha anche semplificato l'architettura in cui non devono eseguire nuovamente questi complessi calcoli dei prezzi se i dati sono già in NCache. Se i dati non sono disponibili nella cache, questi dati sui prezzi vengono recuperati dal database e memorizzati nella cache per un utilizzo futuro.

Ciò ha migliorato l'esperienza dell'utente finale e ha un impatto positivo sul business.

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

 

Cache client per InProc Speed

Il portale clienti mostra informazioni sui prezzi delle auto e dettagli come dettagli di produzione, modello, ecc. Il catalogo mostra le immagini dei veicoli insieme ai dettagli del veicolo. Questi dati sono per lo più statici e alcuni sono anche di grandi dimensioni, il che rende costoso il recupero dal database per le singole richieste. Pertanto, la memorizzazione nella cache dei dati statici per l'utilizzo migliora l'esperienza dell'utente poiché il tempo di risposta è migliore insieme alle prestazioni dell'applicazione.

NCache fornisce una funzione specializzata chiamata Cache cliente che è l'ideale per la memorizzazione nella cache di dati statici. Client Cache consente loro di conservare i dati localmente sui server delle applicazioni (più vicino all'applicazione) e li aiuta a risparmiare costosi viaggi di rete oltre a costosi viaggi di database che NCache stava già risparmiando per loro. La cache del client è inoltre sincronizzata con la cache in cluster remota che garantisce la coerenza dei dati migliorando le prestazioni delle applicazioni.

La cache del client risolve anche i problemi di prestazioni associati a oggetti dati di grandi dimensioni. Client Cache risiede originariamente questi oggetti di grandi dimensioni localmente sulla stessa macchina client, quindi, salvando i viaggi di rete avanti e indietro. L'applicazione sperimenta un recupero dei dati molto più veloce con NCache cache del cliente.

Oltre alla cache del client, si consiglia inoltre di attivare la compressione per ridurre le dimensioni dell'oggetto e ottimizzare ulteriormente le prestazioni.

 

Caricatore della cache per il precaricamento della cache

Con la memorizzazione nella cache, l'applicazione controlla prima i dati nella cache, ad esempio, per visualizzare i dettagli sui prezzi, la cache viene prima controllata per i dati sui prezzi precalcolati. Se la cache non fornisce i dati richiesti, i dati vengono cercati nel database. Viene quindi salvato nella cache per un utilizzo futuro. Migliora le prestazioni dell'applicazione ma costa un viaggio nel database per ogni elemento di dati che non è memorizzato nella cache.

Questo problema viene gestito utilizzando il Caricatore di avvio della cache. Precarica la maggior parte dei dati nella cache all'avvio poiché la maggior parte dei loro dati è statica. Rende i dati altamente disponibili e consente di risparmiare sui costi di rete. Nell'esempio precedente, per i dettagli sui prezzi che richiedono un caricamento rapido dei dati, la cache conserverà sempre i dati. È di grande aiuto per migliorare ulteriormente le prestazioni dell'applicazione e gestire il throughput delle richieste.

 

Sincronizzazione della cache con SQL Server

NCache conserva i dati dal database e li conserva per l'utilizzo. Migliora il throughput e le prestazioni dell'applicazione. Tuttavia, per due copie separate di dati, la sincronizzazione è una necessità fondamentale. Se i dati nel database vengono aggiornati, i dati della cache diventano obsoleti e l'applicazione continua a utilizzare i dati obsoleti. Per mantenere sincronizzati la cache e il database, NCache fornisce una funzione di sincronizzazione del database che mantiene coerenti i dati in entrambe le origini dati. Per qualsiasi modifica nel database, i dati nella cache vengono automaticamente rimossi e recupera l'ultima copia dei dati, la prossima volta che viene richiesta. In questo modo, l'applicazione eseguirà sempre operazioni sul set di dati aggiornato.

 

Andare avanti con NCache

Ne trae vantaggio la società finanziaria automobilistica NCache in molte aree discusse in precedenza e andando oltre, non vedono l'ora di utilizzare l'architettura dei microservizi con NCache. Hanno deciso di migliorare NCache ulteriore utilizzo per le loro applicazioni di microservizi mission-critical per un tempo di attività più elevato in tutte le regioni utente. "Spero davvero di poter spostare qualcosa di abbastanza facile in seguito e di iniziare a sfruttare alcune funzionalità avanzate di NCache", ha detto uno degli architetti della squadra.

Stanno progettando di utilizzare .NET Core con Kubernetes per questa applicazione che NCache supporta pienamente. Hanno anche mostrato il loro interesse per la funzione di messaggistica Pub/Sub guidata dagli eventi di NCache per fornire la comunicazione tra i loro microservizi. NCache è in grado di gestire tutto questo per loro (.NET Core, Containerizzazione, Messaggistica Pub/Sub basata su eventi) gestendo al contempo prestazioni super veloci e scalabilità estrema.

Cosa fare dopo?

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