Após uma fácil migração para NCache, ele começou a agir como a cola que mantém nosso aplicativo unido. E as diversas funcionalidades que oferece têm sido um verdadeiro bónus, principalmente as filas, que utilizamos excessivamente.
País ou região:
Europa
Indústria:
Defesa militar
Perfil da companhia:
Este é um departamento de defesa europeu que trabalha para criar uma ligação entre várias nações, permitindo-lhes consultar e colaborar em projetos de segurança, ao mesmo tempo que coordenam atividades de gestão de crises internacionais.
Essas organizações exigem alta disponibilidade, consistência de dados e fácil gerenciamento de tarefas. Esta organização, em particular, desenvolveu um aplicativo de rastreamento para uso de seus funcionários no gerenciamento de informações e tarefas entre diferentes departamentos. Os funcionários fazem login no aplicativo e inserem suas tarefas diárias. Cada departamento relevante pode supervisionar os funcionários e verificar o status de suas tarefas. A empresa usou anteriormente Redis para seus processos de desenvolvimento, mas enfrentou limitações na implantação em seus servidores. Além disso, como principais contribuidores para a paz no cenário internacional, queriam melhorar a sua aplicação de rastreamento para serem notificados sobre quaisquer mudanças que ocorressem em tempo real.
Eles exigem um bom mecanismo de cache. Eles avaliaram Redis. Numa fase inicial, eles descobriram que Redis não estava atendendo aos requisitos de estrutura de dados, o que significa que não podiam implantar Redis em seu QG. Além disso, a migração para Redis não foi tão fácil quanto se poderia imaginar, Redis não estava cumprindo os requisitos técnicos da organização. Redis é desenvolvido em C++ no Linux. E não é oficialmente compatível com Windows. Como o aplicativo da organização foi criado usando o .NET 6, a integração de um produto que não seja nativo do .NET pode causar problemas.
NCache fornece a eles uma solução de memória flexível e escalonável para seus aplicativos de camada única, juntamente com seus recursos avançados. Eles estão recebendo notificações de alteração de dados mais rápidas para processar e trabalhar neles.
Foi uma migração fácil de Redis para NCache e foi bastante simples.
Seja qual for a sua aplicação parece faltar, NCache forneceu as soluções ideais como solução.
Mudanças não planejadas ou manutenções planejadas não afetarão o desempenho do aplicativo, pois ele usa topologia de cache replicado - se um nó estiver inativo, o outro nó compensará. Os requisitos de estrutura de dados da organização foram atendidos por NCache Filas muito intuitivas e fáceis de implementar. De SignalR backplane para o Cache Loader, provedor de origem de apoio (leitura) e NCache fechaduras; o aplicativo de rastreamento se beneficia de todos esses recursos poderosos de NCache.
Além disso, NCache é uma solução de cache distribuído nativa do .NET que pode ser implantada no Linux e também no Windows. Isso os ajudou em sua implantação, pois Redis suporta apenas Linux. A maioria dos aplicativos .NET são executados no Windows e agora .NET Core os aplicativos podem ser executados no Windows e no Linux. Portanto, tornou-se essencial garantir que seus caches distribuídos também forneçam suporte para ambos os sistemas operacionais. E NCache como uma das principais soluções de cache, fornece esse suporte.
Alachisoft Produto:
NCache
Necessidades do cliente atendidas:
A arquitetura do aplicativo compreende principalmente os seguintes componentes:
Para uma visão mais detalhada do aplicativo, a API da Web contém o serviço Action, Notification Hub junto com SignalR. NCache atua como um hub central entre diferentes partes do aplicativo. O usuário faz login usando ADFS (Active Directory Federation Services), vai para o front-end e chama a API Web. A API Web é responsável por criar esta ação e colocá-la na fila dentro do NCache. O Action Service executa várias operações, como pesquisar a fila, processar o objeto tasker, etc.
Se houver um item presente no Action Service, ele o processará. Como parte do processamento, o Action Service também envia as notificações por meio de um Notification Hub. Este serviço de ação altera o estado do objeto de dados "Tasker" - no caso de uma mudança no estado dos dados onde novos dados podem ser adicionados ou dados adicionados anteriormente são atualizados. Isso ajuda os usuários a analisar o processamento e envia notificações a todos os usuários afetados por essa alteração. O aplicativo também possui um serviço de colaboração para gerenciar tarefas usando SharePoint.
Atualmente, o aplicativo usa 2 servidores com balanceamento de carga que hospedam o front-end, a camada lógica e NCache. Além disso, há 1 servidor de banco de dados para suportar os servidores. Eles possuem 1 cache geral onde armazenam filas que também armazenam em cache alguns dados de referência. Eles também possuem outros 2 caches para armazenamento de dados estáticos, ou seja, “tarefas”. O cache geral e os caches estáticos têm uma fonte de apoio (leitura) e um carregador implementados.
A organização amplia o uso do aplicativo com o SignalR backplane. Quando vários usuários estão usando o aplicativo da web, eles aguardam feedback sobre o objeto tasker. O feedback é fornecido a eles por meio de um Notification Hub que usa SignalR. Isso eliminou a necessidade de atualizar a página da web sempre para solicitar novas mensagens.
Aplicativos web ASP.NET em tempo real podem ser criados com SignalR, onde o servidor transmite atualizações para todos os usuários logados assim que uma atualização é acionada. Ao fazer isso, o tempo de resposta às solicitações de atualizações dos usuários é reduzido. NCache oferece suporte para SignalR fornecendo uma extensão ao provedor SignalR. O provedor possui registros de todos os servidores web envolvidos no aplicativo.
Eles têm usado excessivamente a estrutura de dados Queue fornecida por NCache. As filas são armazenadas no cache geral para manter as informações processadas em tempo de execução. A API Web adiciona um novo item à fila. Em seguida, o Action Service pesquisa essa fila e, se um novo item for encontrado, ele executa os processos necessários. Toda a fila é armazenada em NCache. Sempre que eles precisam buscar um item, eles não precisam percorrer toda a fila, pois esse não é apenas um processo lento, mas também caro. NCache usa referência para obter o item necessário que não prejudica o desempenho.
A estrutura de dados Queue vem com diferentes APIs como GetQueue, que verifica se um item existe ou não no cache com a ajuda do método Contains. Da mesma forma, obter o item mais alto de uma fila, copiar uma fila de origem inteira para o array unidimensional, remover itens da fila, registrar eventos (estruturas de dados e baseadas em chave), bloquear e desbloquear as filas para consistência de dados - tudo isso são as outras características que NCache ofertas com a estrutura de dados Queue.
A organização também traz o uso do bloqueio oferecido pela NCache. Por exemplo, eles podem bloquear a fila sempre que o usuário estiver lendo ou gravando nela, digamos por cerca de 20 segundos usando a API Lock para que a integridade dos dados seja mantida. Se a fila necessária estiver livre e pronta para ser usada novamente, o usuário a desbloqueia usando a API de desbloqueio. Quando falamos sobre atualizações simultâneas, NCacheO recurso de bloqueio do está pronto para servir e fornecer integridade e consistência de dados.
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
Eles usaram o provedor Read-Through implementado no armazenamento geral da aplicação, bem como caches estáticos - para buscar os dados da fonte de dados caso eles não estejam presentes no cache. Isso minimiza as viagens de rede adicionais ao banco de dados. NCache oferece um provedor de leitura que permite aos usuários se comunicarem com a fonte de dados. No cache de leitura, no caso de falha no cache, NCache entrará em contato com o provedor para carregar os dados por trás da chamada get.
O provedor Read-Through é configurado usando o IReadThruProvider para .NET. Se um item não puder ser encontrado no cache, os métodos CarregarFromSource e LoadDataTypeFromSource forneça lógica para carregar o objeto ou tipo de dados da fonte de dados definida.
NCache fornece outro recurso poderoso, o Carregador de inicialização de cache que eles têm usado em seu aplicativo de rastreamento. O aplicativo preenche previamente os dados no cache na inicialização. Isso não apenas economiza custos de rede, mas também torna os dados altamente disponíveis. O objetivo do Cache Loader é evitar latência mesmo na solicitação inicial, mas como o Cache Loader é executado em outro serviço, ele é tecnicamente assíncrono. O aplicativo de rastreamento sempre mantém os dados usados com mais frequência no cache na inicialização. Esse recurso ajudou a melhorar o desempenho do aplicativo, além de lidar com o rendimento da solicitação.
A organização está se beneficiando NCache em inúmeras áreas, conforme explicado acima. Como parte do seu crescimento futuro, eles estão planejando usar NCacheO recurso Grupos do , junto com suas notificações de eventos e mensagens do Pub/Sub, já que o Action Service precisa pesquisar sempre para verificar se há atualizações. NCache é capaz de gerenciar tudo isso para eles sem perder desempenho.