Estudo de caso - NCache Fornece desempenho e escalabilidade para as 5 principais montadoras

Imagem de cabeçalho de automóvel

Nós nos concentramos em NCache porque gostamos da maneira como ele melhora o desempenho do aplicativo e atende a todas as nossas necessidades de armazenamento em cache.

Líder de equipe
Arquiteto de Sistemas
 

País ou região:
Alemanha

Indústria:
Financiamento Automóvel

Perfil da companhia:
Um dos cinco principais fabricantes de automóveis premium foi estabelecido na Alemanha. Eles fabricam seus automóveis há muito tempo e entregaram com sucesso cerca de milhões de automóveis até o final de 2018, incluindo motocicletas e carros.

NCache permite que esta montadora mantenha alta disponibilidade e acelere o tempo de resposta de seu aplicativo de serviços financeiros automotivos.

Baixar pdf

Introdução

A indústria de financiamento de automóveis é uma das maiores indústrias do mundo. Com uma enorme base de clientes, eles têm sua rede espalhada por todo o mundo. Um dos cinco maiores fabricantes de automóveis, com centenas de revendedores nos EUA e dezenas de milhares de clientes, precisa de alta disponibilidade e escalabilidade em seus aplicativos de financiamento de automóveis para uso diário. Como fabricante líder de automóveis, seu principal objetivo é fornecer um serviço de valor para seus revendedores e clientes finais, fornecendo um mecanismo de acesso a dados rápido e confiável.

A sua aplicação está dividida em duas partes. O primeiro é um sistema de iniciação interativo para o portal de autoatendimento voltado para o cliente e o segundo é um portal voltado para o revendedor para o gerenciamento de seus serviços financeiros. Os serviços financeiros incluem gerenciamento de empréstimos, planos de pagamento, planos de parcelamento e gerenciamento de contratos. Os múltiplos sistemas tratados por sua aplicação são:

  • Sistema de Iniciação: isso serve para conversar com o revendedor e assinar o contrato de empréstimo para a compra de um automóvel.
  • Sistema de Gestão de Contratos: um sistema de gerenciamento de contas que percorre toda a vida útil do automóvel.
  • Autoatendimento ao cliente: um portal de autoatendimento para o cliente que fornece informações básicas sobre preços e detalhes de compra.

Um sistema diversificado com um grande número de usuários finais e múltiplas funcionalidades exige uma entrega de dados em alta velocidade e consistência em seu site público.

 

Desafios

Com aplicações altamente transacionais, o principal desafio é manter a velocidade rápida e a alta disponibilidade dos dados. O aplicativo depende muito do banco de dados relacional de back-end e se torna um gargalo de desempenho e escalabilidade sob alta carga transacional. Com centenas de milhares de usuários finais, há uma alta carga de solicitações causando desempenhos lentos. Além disso, os usuários finais estão localizados em fusos horários diferentes. A carga se desloca sobre as regiões, causando aumento nas cargas transacionais no banco de dados. Isso resulta em um impacto negativo no usuário e um custo comercial associado.

Fora isso, com objetos de dados grandes, a transmissão de dados pela rede se torna muito lenta. As viagens de rede são muito caras para objetos de dados grandes e afetam o desempenho geral do aplicativo. Os dados estáticos podem ser mantidos na memória para evitar as viagens do banco de dados toda vez que uma solicitação é feita. Isso reduz as viagens de rede, pois são caras por natureza. No entanto, os dados na memória precisam ser sincronizados com o banco de dados, pois há duas cópias separadas dos dados e eles podem ficar fora de sincronia. Assim, a sincronização de dados é outro desafio que sua aplicação está enfrentando.

Alachisoft Produto:
NCache

Necessidades do cliente atendidas:

  • High Availability
  • Consistência
  • Estabilidade
  • Confiabilidade
 

NCache é a correção sólida!

NCache fornece a eles uma solução flexível e escalável para seus aplicativos de várias camadas, juntamente com seus recursos avançados. Armazenar em cache os dados usados ​​com frequência na memória usando NCache não apenas acelera o tempo de resposta do aplicativo, mas também economiza as viagens ao banco de dados toda vez que uma solicitação é feita. Eles estão experimentando um acesso de dados mais rápido e estabilidade em seu aplicativo com NCache como sua camada de cache. NCache fornece a eles a facilidade de adicionar mais servidores na camada de armazenamento em cache para aumentar o limite de tratamento de solicitações do aplicativo. Ajuda com a acomodação do aumento da carga de solicitação no aplicativo.

Não há tempo de inatividade e perda de dados do usuário com NCache configuração de aplicativos sempre LIGADA para seu sistema de missão crítica. Dessa forma, interrupções não planejadas ou manutenções planejadas não afetam o desempenho do aplicativo.

 

Visão geral da arquitetura

A arquitetura do aplicativo é composta pelos seguintes componentes:

  • Aplicativo de autoatendimento do cliente (ASP.NET)

    É um portal voltado para o cliente projetado em ASP.NET. É usado pelos clientes.

  • Aplicativo de gerenciamento de empréstimos e contratos para revendedores (ASP.NET)

    É para os revendedores e também projetado em ASP.NET.

  • Serviços de middleware (Serviços da Web .NET)

    Essa camada é composta por vários serviços que são usados ​​para o acesso aos dados. Os aplicativos no front-end conversam com o middleware para serviços. Essa camada trata de todo o cache do aplicativo.

Para uma visão mais detalhada do aplicativo, seu aplicativo web inclui um portal web voltado ao público que é utilizado pelos clientes e revendedores no que diz respeito aos serviços financeiros para automóveis. O portal de autoatendimento do cliente retém informações sobre empréstimos, planos de pagamento, preços, etc. As concessionárias de todo o país utilizam o portal voltado para concessionárias que retém informações sobre histórico de crédito do usuário, parcelamento e gestão de contratos.

A camada de serviço de middleware possui vários serviços SOAP do WCF responsáveis ​​por acessar os dados do banco de dados de back-end. É composto por 12-17 servidores e é aqui que NCache é usado. O aplicativo web front-end se comunica com o middleware para solicitações como registros de usuários, detalhes de preços e gerenciamento de empréstimos, etc.

Cache distribuído reduzindo a latência da rede e aumentando o tempo de resposta
Figura 1 - Cache distribuído reduzindo a latência da rede e aumentando o tempo de resposta

A camada de cache é uma camada dedicada de 4 servidores de cache que residem fisicamente muito perto dos servidores da Web para que estejam na mesma rede. Isso reduz a latência da rede e melhora o tempo de resposta da solicitação.

Uma das principais informações que eles estão armazenando em cache são as informações de preços complexas que contêm um conjunto de parâmetros, como ano de fabricação, modelo, regiões etc.

Eles estão usando o SQL Server como banco de dados relacional no back-end. O diagrama a seguir descreve visualmente a arquitetura do aplicativo. Eles têm cerca de 400-500 revendedores localizados em todo EUA. Sua carga de rede, portanto, muda em relação aos usuários ativos. Eles explicaram ainda que seus aplicativos são altamente transacionais, com 2-3 milhões de transações por segundo.

 

Alto desempenho e escalabilidade

NCache é extremamente rápido e escalável com uma solução de cache distribuído. Os dados que residem em NCache evita que o aplicativo faça viagens caras ao banco de dados. Eles fazem cálculos de preços complexos em seu objeto de preços e, em seguida, armazenam esses dados em NCache. Isso os ajudou a melhorar o desempenho do aplicativo e também simplificou a arquitetura em que eles não precisam realizar esses cálculos complexos de preços novamente se os dados já estiverem em NCache. Se os dados não estiverem disponíveis no cache, esses dados de preços serão buscados no banco de dados e armazenados em cache para uso futuro.

Isso melhorou a experiência do usuário final e tem um impacto positivo nos negócios.

Sobre Alachisoft:
Alachisoft fornece um cache distribuído na memória popular de alto desempenho chamado NCache. NCache é um middleware de código aberto que é executado em ambiente de produção e aumenta o desempenho e a escalabilidade de aplicativos da Web .NET, aplicativos de serviço SOA e aplicativos gerais de servidor de alto tráfego. Desde 2005, NCache tem um histórico comprovado com centenas de clientes em todo o mundo e especialmente nos EUA, Reino Unido e Europa Ocidental.

Você pode baixar uma avaliação gratuita de 30 dias totalmente funcional do NCache da SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

Alachisoft
Sede da empresa
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 de cliente para velocidade InProc

O portal do cliente exibe informações sobre os preços dos carros e detalhes como detalhes de fabricação e modelo, etc. O catálogo exibe as fotos dos veículos junto com os detalhes do veículo. Esses dados são em sua maioria estáticos e alguns deles também são grandes, o que torna caro a busca no banco de dados para solicitações individuais. Portanto, armazenar em cache os dados estáticos para uso aprimora a experiência do usuário, pois o tempo de resposta é melhor junto com o desempenho do aplicativo.

NCache fornece um recurso especializado chamado Cache de cliente que é ideal para armazenar em cache dados estáticos. O Client Cache permite que eles mantenham dados localmente nos servidores de aplicativos (mais próximos do aplicativo) e os ajuda a economizar viagens caras à rede, além de viagens caras ao banco de dados que NCache já estava economizando para eles. O Cache do Cliente também é sincronizado com seu cache em cluster remoto que garante a consistência dos dados enquanto melhora o desempenho do aplicativo.

O cache do cliente também resolve os problemas de desempenho associados a objetos de dados grandes. O Cache do Cliente originalmente reside esses objetos grandes localmente na mesma máquina cliente, portanto, economizando as viagens de rede de ida e volta. O aplicativo experimenta uma recuperação de dados muito mais rápida com NCache cache do cliente.

Além do cache do cliente, também é recomendável ativar a compactação para reduzir o tamanho do objeto e ajustar ainda mais o desempenho.

 

Cache Loader para pré-carregar o cache

Com o armazenamento em cache, o aplicativo primeiro verifica os dados no cache, por exemplo, para visualizar os detalhes do preço, o cache é verificado primeiro quanto aos dados de preço pré-calculados. Se o cache não fornecer os dados necessários, os dados serão procurados no banco de dados. Em seguida, ele é salvo no cache para uso futuro. Ele melhora o desempenho do aplicativo, mas custa uma viagem de banco de dados para cada item de dados que não está armazenado em cache.

Este problema é tratado usando o Carregador de inicialização de cache. Ele pré-carrega a maioria dos dados no cache na inicialização, pois a maioria de seus dados é estática. Isso torna os dados altamente disponíveis e economiza o custo da rede. No exemplo acima, para detalhes de preços que exigem carregamento rápido de dados, o cache sempre reterá os dados. É de grande ajuda para melhorar ainda mais o desempenho do aplicativo e lidar com a taxa de transferência da solicitação.

 

Sincronizando Cache com SQL Server

NCache retém os dados do banco de dados e os mantém para uso. Melhora a taxa de transferência e o desempenho do aplicativo. No entanto, para duas cópias separadas de dados, a sincronização é uma necessidade importante. Se os dados no banco de dados forem atualizados, os dados do cache se tornarão obsoletos e o aplicativo continuará usando os dados obsoletos. Para manter o cache e o banco de dados sincronizados, NCache fornece um recurso de sincronização de banco de dados que mantém os dados em ambas as fontes de dados consistentes. Para qualquer alteração no banco de dados, os dados em cache são removidos automaticamente e buscam a cópia mais recente dos dados, na próxima vez que forem solicitados. Dessa forma, o aplicativo sempre realizará operações no conjunto de dados atualizado.

 

Seguindo em frente com NCache

A empresa de financiamento de automóveis está se beneficiando de NCache em muitas áreas, conforme discutido acima e avançando, eles estão ansiosos para usar a arquitetura de microsserviços com NCache. Eles decidiram aumentar NCache uso ainda mais para seus aplicativos de microsserviços de missão crítica para um maior tempo de atividade em todas as regiões do usuário. "Estou realmente esperando que possamos mover algo bastante fácil a seguir e começarmos a tirar proveito de alguns recursos avançados do NCache", disse um dos arquitetos da equipe.

Eles estão planejando usar .NET Core com Kubernetes para esta aplicação que NCache totalmente suporta. Eles também demonstraram interesse no recurso de mensagens Pub/Sub orientado a eventos de NCache para fornecer comunicação entre seus microsserviços. NCache é capaz de gerenciar tudo isso para eles (.NET Core, Containerization, Event Driven Pub/Sub Messaging) enquanto gerencia desempenho super rápido e escalabilidade extrema.

O que fazer a seguir?

© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.