Fallstudie - NCache Bietet Leistung und Skalierbarkeit für die Top-5-Automobilhersteller

Automobil-Header-Bild

Wir konzentrierten uns auf NCache weil uns gefällt, wie es die Anwendungsleistung verbessert und alle unsere Caching-Anforderungen erfüllt.

Teamleiter
Systemarchitekt
 

Land oder Region:
Deutschland

Industrie:
Automobilfinanzierung

Firmenprofil:
In Deutschland entstand einer der fünf größten Premium-Automobilhersteller. Sie fertigen ihre Automobile schon seit langem und haben bis Ende 2018 rund Millionen Automobile, darunter Motorräder und Autos, erfolgreich ausgeliefert.

NCache ermöglicht es diesem Automobilhersteller, die Hochverfügbarkeit seiner Automobil-Finanzdienstleistungsanwendung aufrechtzuerhalten und die Reaktionszeit zu verkürzen.

PDF Downloaden

Einleitung

Die Automobilfinanzierungsbranche ist eine der größten Branchen der Welt. Mit einem riesigen Kundenstamm verfügen sie über ein Netzwerk, das über die ganze Welt verteilt ist. Einer der fünf größten Automobilhersteller mit Hunderten von Händlern in den gesamten USA und Zehntausenden von Kunden benötigt eine hohe Verfügbarkeit und Skalierbarkeit seiner Automobilfinanzierungsanwendungen für den täglichen Gebrauch. Als führender Automobilhersteller besteht ihr Hauptziel darin, ihren Händlern und Endkunden durch die Bereitstellung eines schnellen und zuverlässigen Datenzugriffsmechanismus einen Mehrwertservice zu bieten.

Ihr Antrag gliedert sich in zwei Teile. Erstens handelt es sich um ein interaktives Initiierungssystem für ein kundenorientiertes Selbstbedienungsportal und zweitens um ein händlerorientiertes Portal für deren Finanzdienstleistungsmanagement. Zu den Finanzdienstleistungen gehören Kreditmanagement, Zahlungspläne, Ratenzahlungspläne und Vertragsmanagement. Die von ihrer Anwendung verwalteten mehreren Systeme sind:

  • Initiierungssystem: Dies dient dazu, mit dem Händler zu sprechen und einen Kreditvertrag für den Kauf eines Autos zu unterzeichnen.
  • Vertragsmanagementsystem: ein Kontoverwaltungssystem, das sich über die gesamte Lebensdauer des Automobils erstreckt.
  • Kundenselbstbedienung: Ein Self-Service-Portal für den Kunden, das grundlegende Informationen zu Preisen und Kaufdetails bereitstellt.

Ein vielfältiges System mit einer großen Anzahl von Endbenutzern und mehreren Funktionalitäten erfordert eine schnelle Datenbereitstellung sowie Konsistenz auf seiner öffentlich zugänglichen Website.

 

Herausforderungen

Bei hochtransaktionalen Anwendungen besteht die größte Herausforderung darin, eine hohe Geschwindigkeit und hohe Datenverfügbarkeit aufrechtzuerhalten. Die Anwendung ist stark auf die relationale Backend-Datenbank angewiesen und wird bei hoher Transaktionslast zu einem Leistungs- und Skalierbarkeitsengpass. Bei Hunderttausenden Endbenutzern gibt es eine hohe Anforderungslast, die zu langsamen Leistungen führt. Darüber hinaus befinden sich die Endbenutzer in unterschiedlichen Zeitzonen. Die Last verlagert sich über Regionen und führt so zu einer erhöhten Transaktionslast auf der Datenbank. Dies hat negative Auswirkungen auf den Benutzer und damit verbundene Geschäftskosten.

Ansonsten wird die Datenübertragung über das Netzwerk bei großen Datenobjekten sehr langsam. Die Netzwerkfahrten sind bei großen Datenobjekten sehr kostspielig und beeinträchtigen die Gesamtleistung der Anwendung. Statische Daten können im Speicher gehalten werden, um Datenbankfehler bei jeder Anforderung zu vermeiden. Dies reduziert die Anzahl der Netzwerkfahrten, da diese von Natur aus teuer sind. Allerdings müssen die In-Memory-Daten mit der Datenbank synchronisiert werden, da es zwei separate Kopien der Daten gibt und diese möglicherweise nicht mehr synchron sind. Daher ist die Datensynchronisierung eine weitere Herausforderung, vor der ihre Anwendung steht.

Alachisoft Produkt:
NCache

Kundenanforderungen erfüllt:

  • Hochverfügbarkeit
  • Konsistenz
  • Stabilität
  • Zuverlässigkeit
 

NCache ist der Solid Fix!

NCache bietet ihnen eine flexible und skalierbare Lösung für ihre mehrschichtige Anwendung sowie erweiterte Funktionen. Zwischenspeichern der häufig verwendeten Daten im Speicher mithilfe von NCache Beschleunigt nicht nur die Reaktionszeit der Anwendung, sondern erspart auch die Datenbankfahrten bei jeder Anfrage. Sie erleben einen schnelleren Datenzugriff und eine höhere Stabilität ihrer Anwendung NCache als ihre Caching-Ebene. NCache bietet ihnen die Möglichkeit, der Caching-Ebene problemlos weitere Server hinzuzufügen, um den Schwellenwert für die Anforderungsverarbeitung der Anwendung zu erhöhen. Es hilft bei der Bewältigung der zunehmenden Anforderungslast der Anwendung.

Es gibt keine Ausfallzeiten und keinen Benutzerdatenverlust NCache Always-ON-Anwendungseinrichtung für ihr geschäftskritisches System. Auf diese Weise beeinträchtigen ungeplante Ausfälle oder geplante Wartungsarbeiten die Anwendungsleistung nicht.

 

Architekturübersicht

Die Anwendungsarchitektur besteht aus folgenden Komponenten:

  • Kunden-Self-Service-Anwendung (ASP.NET)

    Es handelt sich um ein kundenorientiertes Portal, das in ASP.NET entwickelt wurde. Es wird von den Kunden genutzt.

  • Händlerorientierte Kredit- und Vertragsmanagement-App (ASP.NET)

    Es ist für Händler gedacht und ebenfalls in ASP.NET konzipiert.

  • Middleware-Dienste (.NET-Webdienste)

    Diese Schicht umfasst eine Reihe von Diensten, die für den Datenzugriff verwendet werden. Die Anwendungen im Front-End kommunizieren mit der Middleware für Dienste. Diese Schicht übernimmt das gesamte Caching für die Anwendung.

Für einen genaueren Blick auf die Anwendung enthält ihre Webanwendung ein öffentlich zugängliches Webportal, das von Kunden und Händlern im Hinblick auf die Finanzdienstleistungen für die Automobile genutzt wird. Das Self-Service-Kundenportal speichert Informationen zu Krediten, Zahlungsplänen, Preisen usw. Die Händler im ganzen Land nutzen das Händlerportal, das Informationen über die Kredithistorie, Ratenzahlungspläne und Vertragsverwaltung des Benutzers speichert.

Die Middleware-Dienstebene verfügt über eine Reihe von WCF-SOAP-Diensten, die für den Zugriff auf die Daten aus der Back-End-Datenbank verantwortlich sind. Es besteht aus 12-17 Server und hier ist der Ort NCache wird eingesetzt. Die Front-End-Webanwendung kommuniziert mit der Middleware für Anfragen wie Benutzerdatensätze, Preisdetails und Kreditverwaltung usw.

Verteilter Cache reduziert die Netzwerklatenz und erhöht die Antwortzeit
Abbildung 1 – Verteilter Cache reduziert die Netzwerklatenz und erhöht die Antwortzeit

Bei der Caching-Schicht handelt es sich um eine dedizierte Schicht aus 4 Cache-Servern, die sich physisch sehr nahe bei den Webservern befindet, sodass diese sich im selben Netzwerk befinden. Dies reduziert die Netzwerklatenz und verbessert die Antwortzeit der Anfrage.

Eine der wichtigsten Informationen, die sie zwischenspeichern, sind ihre komplexen Preisinformationen, die eine Reihe von Parametern wie Herstellungsjahr, Modell, Regionen usw. enthalten.

Sie verwenden SQL Server als relationale Datenbank im Backend. Das folgende Diagramm stellt die Anwendungsarchitektur visuell dar. Sie haben rund 400-500 Händler in den gesamten USA. Dadurch verschiebt sich ihre Netzwerklast im Verhältnis zu den aktiven Benutzern. Sie erklärten weiter, dass ihre Anwendungen mit 2-3 Millionen Transaktionen pro Sekunde sehr transaktional seien.

 

Hohe Leistung und Skalierbarkeit

NCache ist mit einer verteilten Caching-Lösung extrem schnell und skalierbar. Die darin gespeicherten Daten NCache erspart der Anwendung kostspielige Ausflüge in die Datenbank. Sie führen komplexe Preisberechnungen für ihr Preisobjekt durch und speichern diese Daten dann zwischen NCache. Dies hat ihnen geholfen, die Anwendungsleistung zu verbessern und auch die Architektur zu vereinfachen, sodass sie diese komplexen Preisberechnungen nicht erneut durchführen müssen, wenn Daten bereits vorhanden sind NCache. Wenn die Daten nicht im Cache verfügbar sind, werden diese Preisdaten aus der Datenbank abgerufen und für die zukünftige Verwendung zwischengespeichert.

Dies hat die Endbenutzererfahrung verbessert und wirkt sich positiv auf das Geschäft aus.

Über uns Alachisoft:
Alachisoft Bietet einen beliebten verteilten In-Memory-Cache mit hoher Leistung namens NCache. NCache ist eine Open-Source-Middleware, die in Produktionsumgebungen ausgeführt wird und die Leistung und Skalierbarkeit von .NET-Web-Apps, SOA-Service-Apps und allgemeinen Server-Apps mit hohem Datenverkehr steigert. Seit 2005, NCache hat eine nachgewiesene Erfolgsbilanz mit Hunderten von Kunden auf der ganzen Welt und insbesondere in den USA, Großbritannien und Westeuropa.

Sie können eine kostenlose, 30-tägige, voll funktionsfähige Testversion herunterladen NCache für hier.

Alachisoft
Unternehmenszentrale
12005 Ford Road, Suite 520
Dallas, TX 75234

US: +1 (214) 764-6933
UK: +44 207 993-8327

sales@alachisoft.com
support@alachisoft.com

 

Client-Cache für InProc-Geschwindigkeit

Das Kundenportal zeigt Informationen zu den Preisen der Autos und Details wie Herstellungsdetails und Modell usw. an. Im Katalog werden die Bilder der Fahrzeuge sowie Fahrzeugdetails angezeigt. Diese Daten sind größtenteils statisch und einige davon sind auch groß, was den Abruf aus der Datenbank für einzelne Anfragen teuer macht. Das Zwischenspeichern der statischen Daten zur Verwendung verbessert also das Benutzererlebnis, da die Reaktionszeit zusammen mit der Anwendungsleistung besser ist.

NCache bietet eine spezielle Funktion namens Client-Cache Das ist ideal zum Zwischenspeichern statischer Daten. Client Cache ermöglicht es ihnen, Daten lokal auf den Anwendungsservern (näher an der Anwendung) zu speichern und hilft ihnen, neben teuren Datenbankfahrten auch teure Netzwerkfahrten einzusparen NCache habe bereits für sie gespart. Der Client-Cache wird außerdem mit dem Remote-Cluster-Cache synchronisiert, was die Datenkonsistenz gewährleistet und gleichzeitig die Anwendungsleistung verbessert.

Der Client-Cache löst auch die Leistungsprobleme, die mit großen Datenobjekten verbunden sind. Der Client-Cache speichert diese großen Objekte ursprünglich lokal auf demselben Client-Computer und erspart so den Hin- und Rückweg im Netzwerk. Die Anwendung erfährt einen viel schnelleren Datenabruf mit NCache Client-Cache.

Zusätzlich zum Client-Cache wird auch empfohlen, die Komprimierung zu aktivieren, um die Größe des Objekts zu reduzieren und die Leistung weiter zu optimieren.

 

Cache Loader zum Vorladen des Caches

Beim Caching prüft die Anwendung zunächst die Daten im Cache. Um beispielsweise die Preisdetails anzuzeigen, wird der Cache zunächst auf vorberechnete Preisdaten überprüft. Wenn der Cache die benötigten Daten nicht bereitstellen kann, werden die Daten in der Datenbank gesucht. Anschließend wird es zur späteren Verwendung im Cache gespeichert. Es verbessert die Anwendungsleistung, verursacht jedoch einen Datenbank-Trip für jedes Datenelement, das nicht zwischengespeichert wird.

Dieses Problem wird mithilfe von behandelt Cache-Startuploader. Beim Start werden die meisten Daten im Cache vorgeladen, da die meisten Daten statisch sind. Es macht die Daten hochverfügbar und spart Netzwerkkosten. Im obigen Beispiel werden die Daten für Preisdetails, die ein schnelles Laden der Daten erfordern, immer im Cache gespeichert. Dies ist eine große Hilfe bei der weiteren Verbesserung der Anwendungsleistung und der Bewältigung des Anforderungsdurchsatzes.

 

Cache mit SQL Server synchronisieren

NCache Behält die Daten aus der Datenbank und hält sie zur Verwendung bereit. Es verbessert den Durchsatz und die Leistung der Anwendung. Für zwei separate Datenkopien ist die Synchronisierung jedoch eine wesentliche Notwendigkeit. Wenn die Daten in der Datenbank aktualisiert werden, werden die Cache-Daten veraltet und die Anwendung verwendet die veralteten Daten weiterhin. Um den Cache und die Datenbank synchron zu halten, NCache Bietet eine Funktion zur Datenbanksynchronisierung, die die Daten in beiden Datenquellen konsistent hält. Bei jeder Änderung in der Datenbank werden die Daten im Cache automatisch entfernt und bei der nächsten Anforderung wird die neueste Datenkopie abgerufen. Auf diese Weise führt die Anwendung immer Vorgänge für den aktualisierten Datensatz aus.

 

Vorwärts mit NCache

Davon profitiert das Automobilfinanzierungsunternehmen NCache In vielen Bereichen wie oben besprochen und darüber hinaus freuen sie sich darauf, die Microservices-Architektur mit zu nutzen NCache. Sie haben sich für eine Verbesserung entschieden NCache Weitere Nutzung ihrer geschäftskritischen Microservices-Anwendungen für eine höhere Betriebszeit in allen Benutzerregionen. „Ich hoffe wirklich, dass wir als nächstes etwas ziemlich Einfaches bewegen können und einige erweiterte Funktionen von nutzen können NCache", sagte einer der Architekten des Teams.

Sie planen die Verwendung .NET Core mit Kubernetes für diese Anwendung welche NCache voll unterstützt. Sie haben auch Interesse an der ereignisgesteuerten Pub/Sub-Messaging-Funktion von gezeigt NCache um die Kommunikation zwischen ihren Microservices bereitzustellen. NCache ist in der Lage, dies alles für sie zu verwalten (.NET Core, Containerisierung, ereignisgesteuertes Pub/Sub-Messaging) und sorgt gleichzeitig für superschnelle Leistung und extreme Skalierbarkeit.

Was macht man als nächstes?

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.