Caso de estudio - NCache Brinda rendimiento y escalabilidad a los 5 principales fabricantes de automóviles

Imagen de encabezado de automóvil

nos enfocamos en NCache porque nos gusta la forma en que mejora el rendimiento de la aplicación y cómo satisface todas nuestras necesidades de almacenamiento en caché.

Jefe de equipo
Arquitecto de Sistemas
 

País o Región:
Alemania

Industria:
Financiamiento de Automóviles

Perfil de la compañía:
Uno de los cinco principales fabricantes de automóviles premium se estableció en Alemania. Han estado fabricando sus automóviles durante mucho tiempo y han entregado con éxito alrededor de millones de automóviles a fines de 2018, incluidas motocicletas y automóviles.

NCache permite a este fabricante de automóviles mantener una alta disponibilidad y acelerar el tiempo de respuesta de su aplicación de servicios financieros para automóviles.

Descargue el PDF aquí.

Introducción

La industria de financiación de automóviles es una de las industrias más grandes del mundo. Con una base de clientes masiva, tienen su red repartida por todo el mundo. Uno de los cinco principales fabricantes de automóviles, con cientos de concesionarios en todo EE. UU. y decenas de miles de clientes, necesita alta disponibilidad y escalabilidad dentro de sus aplicaciones de financiación de automóviles para su uso diario. Como fabricante de automóviles líder, su objetivo principal es brindar un servicio valioso para sus distribuidores y clientes finales al proporcionar un mecanismo de acceso a datos rápido y confiable.

Su aplicación se divide en dos partes. El primero es un sistema de iniciación interactivo para el portal de autoservicio de cara al cliente y el segundo es un portal de cara al distribuidor para la gestión de sus servicios financieros. Los servicios financieros incluyen gestión de préstamos, planes de pago, planes de cuotas y gestión de contratos. Los múltiples sistemas que maneja su aplicación son:

  • Sistema de iniciación: esto sirve para hablar con el concesionario y firmar un contrato de préstamo para la compra de un automóvil.
  • Sistema de gestión de contratos: un sistema de gestión de cuentas que va a lo largo de la vida útil del automóvil.
  • Autoservicio al cliente: un portal de autoservicio para el cliente que proporciona información básica sobre precios y detalles de compra.

Un sistema diverso con una gran cantidad de usuarios finales y múltiples funcionalidades exige una entrega de datos de alta velocidad junto con consistencia en su sitio público.

 

Desafios

Con aplicaciones altamente transaccionales, el principal desafío es mantener una alta velocidad y alta disponibilidad de datos. La aplicación depende en gran medida de la base de datos relacional back-end y se convierte en un cuello de botella de rendimiento y escalabilidad bajo una alta carga transaccional. Con cientos de miles de usuarios finales, hay una gran carga de solicitudes que provoca un rendimiento lento. Además, los usuarios finales se encuentran en diferentes zonas horarias. La carga se desplaza sobre las regiones, lo que provoca un aumento de las cargas transaccionales en la base de datos. Da como resultado un impacto negativo en el usuario y un costo comercial asociado.

Aparte de eso, con objetos de datos grandes, la transmisión de datos a través de la red se vuelve muy lenta. Los viajes de red son muy costosos para objetos de datos grandes y afectan el rendimiento general de la aplicación. Los datos estáticos se pueden mantener en la memoria para evitar que la base de datos se dispare cada vez que se realiza una solicitud. Esto reduce los viajes de la red, ya que son caros por naturaleza. Sin embargo, los datos en memoria deben sincronizarse con la base de datos, ya que hay dos copias separadas de los datos y pueden perder la sincronización. Por lo tanto, la sincronización de datos es otro desafío al que se enfrenta su aplicación.

Alachisoft Producto:
NCache

Necesidades del cliente satisfechas:

  • Alta disponibilidad
  • Consistencia
  • Estabilidad
  • Fiabilidad
 

NCache es la solución sólida!

NCache les proporciona una solución flexible y escalable para su aplicación de varios niveles junto con sus funciones avanzadas. Almacenamiento en caché de los datos de uso frecuente en la memoria mediante NCache no solo acelera el tiempo de respuesta de la aplicación, sino que también ahorra viajes a la base de datos cada vez que se realiza una solicitud. Están experimentando un acceso a datos más rápido y estabilidad en su aplicación con NCache como su nivel de almacenamiento en caché. NCache les brinda la facilidad de agregar más servidores en el nivel de almacenamiento en caché para aumentar el umbral de manejo de solicitudes de la aplicación. Ayuda a acomodar el aumento de la carga de solicitudes en la aplicación.

No hay tiempo de inactividad ni pérdida de datos de usuario con NCache configuración de aplicaciones siempre ENCENDIDA para su sistema de misión crítica. De esta forma, las interrupciones no planificadas o el mantenimiento planificado no afectan el rendimiento de la aplicación.

 

Resumen arquitectónico

La arquitectura de la aplicación consta de los siguientes componentes:

  • Aplicación de autoservicio del cliente (ASP.NET)

    Es un portal orientado al cliente diseñado en ASP.NET. Es utilizado por los clientes.

  • Aplicación de gestión de contratos y préstamos para concesionarios (ASP.NET)

    Es para los distribuidores y también está diseñado en ASP.NET.

  • Servicios de middleware (servicios web .NET)

    Esta capa se compone de una serie de servicios que se utilizan para acceder a los datos. Las aplicaciones en el front-end se comunican con el middleware para los servicios. Esta capa maneja todo el almacenamiento en caché de la aplicación.

Para ver más de cerca la aplicación, su aplicación web incluye un portal web público que utilizan los clientes y distribuidores en relación con los servicios financieros para los automóviles. El portal de autoservicio para clientes conserva información sobre préstamos, planes de pago, precios, etc. Los concesionarios de todo el país utilizan el portal orientado al concesionario que conserva información sobre el historial crediticio del usuario, planes de pago a plazos y gestión de contratos.

El nivel de servicio de middleware tiene una serie de servicios WCF SOAP responsables de acceder a los datos de la base de datos de back-end. Se compone de 12-17 servidores y aquí es donde NCache se usa La aplicación web front-end se comunica con el middleware para solicitudes como registros de usuarios, detalles de precios y gestión de préstamos, etc.

Caché distribuida que reduce la latencia de la red y aumenta el tiempo de respuesta
Figura 1: caché distribuida que reduce la latencia de la red y aumenta el tiempo de respuesta

El nivel de almacenamiento en caché es un nivel dedicado de 4 servidores de caché que reside físicamente muy cerca de los servidores web para que estén en la misma red. Esto reduce la latencia de la red y mejora el tiempo de respuesta de las solicitudes.

Una de las principales informaciones que almacenan en caché es su compleja información de precios que contiene un conjunto de parámetros como el año de fabricación, el modelo, las regiones, etc.

Están utilizando SQL Server como su base de datos relacional en el backend. El siguiente diagrama representa visualmente la arquitectura de la aplicación. Tienen alrededor de 400-500 distribuidores ubicados en todo EE. UU. Por lo tanto, su carga de red cambia con respecto a los usuarios activos. Explicaron además que sus aplicaciones son muy transaccionales con 2-3 millones de transacciones por segundo.

 

Alto rendimiento y escalabilidad

NCache es extremadamente rápido y escalable con una solución de almacenamiento en caché distribuida. Los datos que residen en NCache evita que la aplicación realice viajes costosos a la base de datos. Realizan cálculos de precios complejos en su objeto de precios y luego almacenan en caché estos datos en NCache. Esto les ayudó a mejorar el rendimiento de la aplicación y también simplificó la arquitectura donde no tienen que realizar estos complejos cálculos de precios nuevamente si los datos ya están en NCache. Si los datos no están disponibles en el caché, estos datos de precios se obtienen de la base de datos y se almacenan en caché para uso futuro.

Esto ha mejorado la experiencia del usuario final y tiene un impacto comercial positivo.

Sobre Alachisoft:
Alachisoft proporciona un popular caché distribuido en memoria de alto rendimiento llamado NCache. NCache es un middleware de código abierto que se ejecuta en un entorno de producción y aumenta el rendimiento y la escalabilidad de las aplicaciones web .NET, las aplicaciones de servicio SOA y las aplicaciones generales de servidor de alto tráfico. Desde 2005, NCache tiene un historial comprobado con cientos de clientes en todo el mundo y especialmente en EE. UU., Reino Unido y Europa occidental.

Puede descargar una prueba gratuita de 30 días completamente funcional de NCache en esta página.

Alachisoft
Sede Corporativa
12005 Ford Road, Suite 520
Dallas, TX 75234

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

sales@alachisoft.com
support@alachisoft.com

 

Caché de cliente para InProc Speed

El portal del cliente muestra información sobre los precios de los automóviles y detalles como detalles de fabricación y modelo, etc. El catálogo muestra las imágenes de los vehículos junto con los detalles del vehículo. Estos datos son en su mayoría estáticos y algunos de ellos también son de gran tamaño, lo que hace que sea costoso recuperarlos de la base de datos para solicitudes individuales. Por lo tanto, almacenar en caché los datos estáticos para su uso mejora la experiencia del usuario ya que el tiempo de respuesta es mejor junto con el rendimiento de la aplicación.

NCache proporciona una característica especializada llamada Caché de cliente eso es ideal para el almacenamiento en caché de datos estáticos. Client Cache les permite mantener los datos localmente en los servidores de aplicaciones (más cerca de la aplicación) y les ayuda a ahorrar costosos viajes a la red además de costosos viajes a la base de datos que NCache ya estaba ahorrando para ellos. Client Cache también está sincronizado con su caché en clúster remoto que garantiza la coherencia de los datos y mejora el rendimiento de la aplicación.

La memoria caché del cliente también resuelve los problemas de rendimiento asociados con los objetos de datos de gran tamaño. Client Cache originalmente reside estos objetos grandes localmente en la misma máquina cliente, por lo tanto, ahorra los viajes de ida y vuelta a la red. La aplicación experimenta una recuperación de datos mucho más rápida con NCache caché del cliente.

Además de la memoria caché del cliente, también se recomienda que activen la compresión para reducir el tamaño del objeto y optimizar aún más el rendimiento.

 

Cargador de caché para precargar el caché

Con el almacenamiento en caché, la aplicación primero verifica los datos en el caché, por ejemplo, para ver los detalles del precio, primero se verifica el caché en busca de datos de precios precalculados. Si la memoria caché no proporciona los datos necesarios, los datos se buscan en la base de datos. Luego se guarda en el caché para uso futuro. Mejora el rendimiento de la aplicación, pero cuesta un viaje a la base de datos por cada elemento de datos que no se almacena en caché.

Este problema se maneja usando el Cargador de inicio de caché. Precarga la mayoría de los datos en el caché al inicio, ya que la mayoría de sus datos son estáticos. Hace que los datos estén altamente disponibles y ahorra el costo de la red. En el ejemplo anterior, para los detalles de precios que requieren una carga de datos rápida, la memoria caché siempre conservará los datos. Es de gran ayuda para mejorar aún más el rendimiento de la aplicación y manejar el rendimiento de las solicitudes.

 

Sincronización de caché con SQL Server

NCache retiene los datos de la base de datos y los guarda para su uso. Mejora el rendimiento y el rendimiento de la aplicación. Sin embargo, para dos copias separadas de datos, la sincronización es una necesidad importante. Si se actualizan los datos de la base de datos, los datos de la memoria caché se vuelven obsoletos y la aplicación sigue usándolos. Para mantener la caché y la base de datos sincronizadas, NCache proporciona una función de sincronización de bases de datos que mantiene la coherencia de los datos en ambas fuentes de datos. Para cualquier cambio en la base de datos, los datos en caché se eliminan automáticamente y obtienen la última copia de datos, la próxima vez que se solicite. De esta forma, la aplicación siempre realizará operaciones sobre el conjunto de datos actualizado.

 

Avanzando con NCache

La compañía financiera de automóviles se está beneficiando de NCache en muchas áreas como se discutió anteriormente y avanzando más, esperan usar la arquitectura de microservicios con NCache. Han decidido potenciar NCache uso adicional para sus aplicaciones de microservicios de misión crítica para un mayor tiempo de actividad en todas las regiones de usuarios. "Realmente espero que podamos mover algo bastante fácil a continuación y comencemos a aprovechar algunas funciones avanzadas de NCache", dijo uno de los artífices del equipo.

Están planeando usar .NET Core con Kubernetes para esta aplicación que NCache apoya totalmente. También han mostrado su interés en la función de mensajería Pub/Sub impulsada por eventos de NCache para proporcionar comunicación entre sus microservicios. NCache es capaz de gestionar todo esto por ellos (.NET Core, contenedorización, mensajería pub/sub impulsada por eventos) al mismo tiempo que administra un rendimiento ultrarrápido y una escalabilidad extrema.

¿Qué hacer a continuación?

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.