Étude de cas - NCache Fournit des performances et une évolutivité au Top 5 des constructeurs automobiles

Image d'en-tête automobile

Nous nous sommes concentrés sur NCache parce que nous aimons la façon dont il améliore les performances des applications et répond à tous nos besoins de mise en cache.

Chef d'équipe
Architecte de systèmes
 

Pays ou région:
Allemagne

Industrie:
Financement automobile

Profil de l'entreprise:
L'un des cinq premiers constructeurs automobiles haut de gamme s'est établi en Allemagne. Ils fabriquent leurs automobiles depuis longtemps et ont livré avec succès environ des millions d'automobiles à la fin de 2018, y compris des motos et des voitures.

NCache permet à ce constructeur automobile de maintenir une haute disponibilité et d'accélérer le temps de réponse de son application de services financiers automobiles.

Télécharger le PDF

Introduction

L'industrie du financement automobile est l'une des plus grandes industries au monde. Avec une clientèle massive, leur réseau est réparti dans le monde entier. L'un des cinq principaux constructeurs automobiles, avec des centaines de concessionnaires aux États-Unis et des dizaines de milliers de clients, a besoin d'une disponibilité et d'une évolutivité élevées dans ses applications de financement automobile pour son utilisation quotidienne. En tant que constructeur automobile de premier plan, leur objectif principal est de fournir un service de valeur à leurs concessionnaires et aux clients finaux en fournissant un mécanisme d'accès aux données rapide et fiable.

Leur application est divisée en deux parties. Le premier est un système d'initiation interactif pour le portail libre-service destiné aux clients et le second est un portail destiné aux concessionnaires pour la gestion de leurs services financiers. Les services financiers comprennent la gestion des prêts, les plans de paiement, les plans de versement et la gestion des contrats. Les multiples systèmes gérés par leur application sont :

  • Système d'initiation : cela sert à parler au concessionnaire et à signer un accord de prêt pour l'achat d'une automobile.
  • Système de gestion des contrats : un système de gestion de compte qui couvre toute la durée de vie de l'automobile.
  • Libre-service client : un portail en libre-service pour le client qui fournit des informations de base sur les prix et les détails d'achat.

Un système diversifié avec un grand nombre d'utilisateurs finaux et de multiples fonctionnalités exige une livraison de données à grande vitesse ainsi qu'une cohérence sur leur site public.

 

Défis

Avec des applications hautement transactionnelles, le principal défi consiste à maintenir une vitesse élevée et une haute disponibilité des données. L'application s'appuie fortement sur la base de données relationnelle principale et devient un goulot d'étranglement en termes de performances et d'évolutivité sous une charge transactionnelle élevée. Avec des centaines de milliers d'utilisateurs finaux, la charge de demandes est élevée et ralentit les performances. De plus, les utilisateurs finaux se trouvent dans des fuseaux horaires différents. La charge se déplace sur les régions, entraînant ainsi une augmentation des charges transactionnelles sur la base de données. Il en résulte un impact négatif sur l'utilisateur et un coût commercial associé.

En dehors de cela, avec des objets de données volumineux, la transmission de données sur le réseau devient très lente. Les déplacements sur le réseau sont très coûteux pour les objets de données volumineux et affectent les performances globales de l'application. Les données statiques peuvent être conservées en mémoire pour éviter les déclenchements de la base de données à chaque fois qu'une demande est faite. Cela réduit les déplacements sur le réseau car ils sont coûteux par nature. Cependant, les données en mémoire doivent être synchronisées avec la base de données car il existe deux copies distinctes des données et elles peuvent se désynchroniser. Ainsi, la synchronisation des données est un autre défi auquel leur application est confrontée.

Alachisoft Produit:
NCache

Besoins du client satisfaits :

  • Haute Disponibilité
  • Cohérence
  • Stabilité
  • Fiabilité
 

NCache est la solution solide !

NCache leur fournit une solution flexible et évolutive pour leur application à plusieurs niveaux ainsi que ses fonctionnalités avancées. Mise en cache des données fréquemment utilisées en mémoire à l'aide de NCache non seulement accélère le temps de réponse de l'application, mais évite également les déplacements de la base de données à chaque fois qu'une demande est faite. Ils bénéficient d'un accès aux données plus rapide et d'une stabilité sur leur application avec NCache comme niveau de mise en cache. NCache leur offre la possibilité d'ajouter plus de serveurs dans le niveau de mise en cache pour augmenter le seuil de traitement des demandes de l'application. Cela aide à gérer l'augmentation de la charge de demandes sur l'application.

Il n'y a pas de temps d'arrêt et pas de perte de données utilisateur avec NCache configuration d'application toujours activée pour leur système critique. De cette façon, les pannes imprévues ou la maintenance planifiée n'affectent pas les performances de l'application.

 

Aperçu architectural

L'architecture de l'application comprend les composants suivants :

  • Application libre-service client (ASP.NET)

    Il s'agit d'un portail client conçu en ASP.NET. Il est utilisé par les clients.

  • Appli de gestion des prêts et des contrats pour les concessionnaires (ASP.NET)

    Il est destiné aux revendeurs et également conçu en ASP.NET.

  • Services intergiciels (services Web .NET)

    Cette couche comprend un certain nombre de services qui sont utilisés pour l'accès aux données. Les applications du front-end communiquent avec le middleware pour les services. Cette couche gère toute la mise en cache de l'application.

Pour un examen plus approfondi de l'application, leur application Web comprend un portail Web public qui est utilisé par les clients et les concessionnaires en ce qui concerne les services financiers pour les automobiles. Le portail client en libre-service conserve les informations sur les prêts, les plans de paiement, les prix, etc. Les concessionnaires de tout le pays utilisent le portail destiné aux concessionnaires qui conserve des informations sur l'historique de crédit de l'utilisateur, les plans de versement et la gestion des contrats.

Le niveau de service middleware comporte un certain nombre de services WCF SOAP responsables de l'accès aux données de la base de données principale. Il comprend 12-17 serveurs et c'est là NCache est utilisé. L'application Web frontale communique avec le middleware pour les demandes telles que les enregistrements d'utilisateurs, les détails de tarification et la gestion des prêts, etc.

Cache distribué réduisant la latence du réseau et augmentant le temps de réponse
Figure 1 - Cache distribué réduisant la latence du réseau et augmentant le temps de réponse

Le niveau de mise en cache est un niveau dédié de 4 serveurs de cache qui résident physiquement très près des serveurs Web afin qu'ils soient sur le même réseau. Cela réduit la latence du réseau et améliore le temps de réponse aux requêtes.

L'une des principales informations qu'ils mettent en cache est leur information de prix complexe qui contient un ensemble de paramètres tels que l'année de fabrication, le modèle, les régions, etc.

Ils utilisent SQL Server comme base de données relationnelle en back-end. Le schéma suivant illustre visuellement l'architecture de l'application. Ils ont environ 400 à 500 revendeurs situés partout aux États-Unis. Leur charge réseau se déplace donc par rapport aux utilisateurs actifs. Ils ont en outre expliqué que leurs applications sont très transactionnelles avec 2 à 3 millions de transactions par seconde.

 

Hautes performances et évolutivité

NCache est extrêmement rapide et évolutif avec une solution de mise en cache distribuée. Les données résidant dans NCache évite à l'application d'effectuer des allers-retours coûteux vers la base de données. Ils effectuent un calcul de tarification complexe sur leur objet de tarification, puis mettent en cache ces données dans NCache. Cela les a aidés à améliorer les performances des applications et à simplifier l'architecture où ils n'ont plus à effectuer ces calculs de tarification complexes si les données sont déjà dans NCache. Si les données ne sont pas disponibles dans le cache, ces données de tarification sont extraites de la base de données et mises en cache pour une utilisation future.

Cela a amélioré l'expérience de l'utilisateur final et a un impact commercial positif.

Qui sommes-nous Alachisoft:
Alachisoft fournit un cache distribué en mémoire haute performance populaire appelé NCache. NCache est un middleware Open Source qui s'exécute dans un environnement de production et améliore les performances et l'évolutivité des applications Web .NET, des applications de service SOA et des applications générales de serveur à fort trafic. Depuis 2005, NCache a une expérience éprouvée avec des centaines de clients partout dans le monde et spécialement aux États-Unis, au Royaume-Uni et en Europe occidentale.

Vous pouvez télécharger un essai gratuit de 30 jours entièrement fonctionnel de NCache de ici.

Alachisoft
Siège social
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 pour la vitesse InProc

Le portail client affiche des informations sur les prix des voitures et des détails tels que les détails de fabrication et le modèle, etc. Le catalogue affiche les photos des véhicules ainsi que les détails du véhicule. Ces données sont pour la plupart statiques et certaines d'entre elles sont également de grande taille, ce qui rend leur récupération à partir de la base de données coûteuse pour des demandes individuelles. Ainsi, la mise en cache des données statiques pour leur utilisation améliore l'expérience utilisateur car le temps de réponse est meilleur ainsi que les performances de l'application.

NCache fournit une fonctionnalité spécialisée appelée Cache Client qui est idéal pour mettre en cache des données statiques. Le cache client leur permet de conserver les données localement sur les serveurs d'applications (plus près de l'application) et les aide à économiser des déplacements réseau coûteux en plus des déplacements coûteux de la base de données qui NCache épargnait déjà pour eux. Le cache client est également synchronisé avec leur cache en cluster distant, ce qui garantit la cohérence des données tout en améliorant les performances des applications.

Le cache client résout également les problèmes de performances associés aux objets de données volumineux. Le cache client réside à l'origine ces objets volumineux localement sur la même machine cliente, ce qui évite les allers-retours sur le réseau. L'application expérimente une récupération de données beaucoup plus rapide avec NCache cache client.

En plus du cache client, il est également recommandé d'activer la compression pour réduire la taille de l'objet afin d'optimiser les performances.

 

Chargeur de cache pour le préchargement du cache

Avec la mise en cache, l'application vérifie d'abord les données dans le cache par exemple, afin d'afficher les détails des prix, le cache est d'abord vérifié pour les données de prix pré-calculées. Si le cache ne parvient pas à fournir les données requises, les données sont recherchées dans la base de données. Il est ensuite enregistré dans le cache pour une utilisation future. Cela améliore les performances de l'application, mais cela coûte un voyage à la base de données pour chaque élément de données qui n'est pas mis en cache.

Ce problème est traité à l'aide de Chargeur de démarrage du cache. Il précharge la plupart des données dans le cache au démarrage car la plupart de leurs données sont statiques. Il rend les données hautement disponibles et réduit le coût du réseau. Dans l'exemple ci-dessus, pour les détails de tarification qui nécessitent un chargement rapide des données, le cache conservera toujours les données. Il est d'une grande aide pour améliorer encore les performances de l'application et gérer le débit des requêtes.

 

Synchronisation du cache avec SQL Server

NCache conserve les données de la base de données et les conserve pour utilisation. Il améliore le débit et les performances de l'application. Cependant, pour deux copies de données distinctes, la synchronisation est une nécessité majeure. Si les données de la base de données sont mises à jour, les données du cache deviennent obsolètes et l'application continue d'utiliser les données obsolètes. Afin de garder le cache et la base de données synchronisés, NCache fournit une fonctionnalité de synchronisation de base de données qui maintient la cohérence des données dans les deux sources de données. Pour toute modification de la base de données, les données en cache sont automatiquement supprimées et récupèrent la dernière copie des données, la prochaine fois qu'elle est demandée. De cette façon, l'application effectuera toujours des opérations sur l'ensemble de données mis à jour.

 

Aller de l'avant avec NCache

La société de financement automobile profite de NCache dans de nombreux domaines, comme indiqué ci-dessus et pour aller plus loin, ils sont impatients d'utiliser l'architecture Microservices avec NCache. Ils ont décidé d'améliorer NCache utilisation supplémentaire pour leurs applications Microservices critiques pour une disponibilité plus élevée dans toutes les régions des utilisateurs. "J'espère vraiment que nous pourrons déplacer quelque chose d'assez facile ensuite et que nous commencerons à tirer parti de certaines fonctionnalités avancées de NCache", a déclaré l'un des architectes de l'équipe.

Ils envisagent d'utiliser .NET Core avec Kubernetes pour cette application qui NCache prend entièrement en charge. Ils ont également montré leur intérêt pour la fonctionnalité de messagerie Pub/Sub événementielle de NCache pour assurer la communication entre leurs microservices. NCache est capable de gérer tout cela pour eux (.NET Core, Conteneurisation, Event Driven Pub/Sub Messaging) tout en gérant des performances ultra-rapides et une évolutivité extrême.

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.