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.
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.
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:
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.
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:
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.
A arquitetura do aplicativo é composta pelos seguintes componentes:
É um portal voltado para o cliente projetado em ASP.NET. É usado pelos clientes.
É para os revendedores e também projetado em ASP.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.
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.
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
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.
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.
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.
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.