Introduction to NCache

NCache é um cache distribuído na memória de código aberto para aplicativos baseados em .NET e Java. NCache ajuda você a alcançar velocidades transacionais extremamente rápidas para seus aplicativos de missão crítica com facilidade de escalabilidade linear.

Armazenamento de dados distribuído na memória

NCache é um armazenamento de dados de código aberto extremamente rápido e escalável devido à sua natureza na memória e arquitetura distribuída. É o único 100% .NET / .NET Core solução no mercado, já que outras soluções são baseadas em C++ e Linux, fazendo com que ela se ajuste muito bem à pilha .NET de seus aplicativos. É a solução de cache favorita na comunidade de desenvolvedores .NET, tornando-a líder de mercado .NET nos últimos 15 anos.

Quais aplicativos .NET precisam NCache?

Você provavelmente se beneficiará usando NCache se seu aplicativo pertence a uma das seguintes categorias:

  • Aplicativos da Web (ASP.NET/ASP.NET Core)
  • Aplicativos de serviços da Web (.NET)
  • Aplicativos de microsserviços (.NET)
  • Outros aplicativos de servidor (.NET)

Por que voce precisa NCache?

Lidando com cargas de transação extremas: Seu aplicativo precisa processar quantidades extremas de transações durante os horários de pico. NCache permite lidar com toda essa carga transacional sem qualquer tempo de inatividade.

Sites voltados para o cliente: As empresas de varejo que realizam a maioria das transações principalmente por meio de um site voltado para o cliente ou uma loja online ou um negócio puramente de comércio eletrônico que vende seus produtos online, podem contar com NCache para alta disponibilidade. Da mesma forma, NCache pode beneficiar as principais companhias aéreas que vendem bilhetes e reservas a partir do site ou de um site de jogos ou apostas online na Europa, onde os clientes fazem login durante os principais eventos esportivos para fazer apostas em tempo real.

Negócios de processamento em segundo plano: Uma empresa que precisa processar muitas transações em segundo plano, como bancos processando transferências de clientes ou uma empresa de cartão de crédito monitorando as transações de seus clientes para detectar fraudes. Da mesma forma, uma empresa de logística, monitorando muitos veículos em tempo real ou uma concessionária de serviços públicos monitorando muitos dispositivos em tempo real e analisando seu comportamento, pode usar NCache para garantir o cache de dados à prova de falhas.

Se você é uma dessas empresas ou uma série de outras empresas semelhantes, não pode permitir que seu aplicativo fique lento durante os horários de pico porque o custo para sua empresa é muito alto. Infelizmente, muitos aplicativos ficam lentos porque o banco de dados não consegue lidar com cargas de transações tão altas e se torna um gargalo. Por ser diferente da camada de aplicativo em que você pode adicionar mais servidores à medida que a carga da transação aumenta, você não pode adicionar mais servidores à camada de banco de dados.

NCache - A solução

A solução para este problema é usar NCache para armazenar em cache os dados do aplicativo e também armazenar todos os dados temporários ou transitórios nele. Ao contrário do seu banco de dados, NCache é distribuído e permite que você construa uma camada de cache de dois ou mais servidores e agrupe a memória e a CPU de todos os servidores de cache em uma capacidade lógica. NCache em seguida, permite adicionar mais servidores a essa camada de cache à medida que a carga da transação aumenta.

NCache

Como resultado, NCache pode escalar linearmente e nunca se torna um gargalo de desempenho. Ainda por cima, desde NCache é totalmente na memória, é super-rápido. Você pode usar NCache de três maneiras diferentes.

  1. Você pode armazenar em cache os dados do aplicativo em NCache para reduzir suas viagens de banco de dados em 80 a 90%, certificando-se de que seu banco de dados não seja mais um gargalo de desempenho.
  2. Você pode armazenar seu ASP.NET/ASP.NET Core Sessões em NCache porque é extremamente rápido e escalável e também porque replica sessões em vários servidores para alta disponibilidade
  3. Você pode usar NCache como uma plataforma de mensagens e eventos Pub/Sub simples, porém poderosa, e coordena o trabalho entre vários aplicativos de servidor de forma transparente.

Destaques dos recursos

Vamos dar uma olhada rápida nos recursos que NCache oferece para garantir escalabilidade linear removendo gargalos de desempenho.

Recurso: manter o cache atualizado

NCache tem várias maneiras de ajudá-lo a manter seus dados de cache o mais atualizados possível, sem que seu aplicativo precise acompanhar tudo isso. Você pode usar expirações absolutas e deslizantes para remover automaticamente os dados do cache.

Recurso: Pesquisa SQL

Você também pode ter NCache sincronizar-se automaticamente com o banco de dados SQL se os dados forem alterados no banco de dados por outros aplicativos. Você também pode especificar relacionamentos de um para muitos e um para um de dados no cache para que a integridade dos dados não seja violada quando o cache for atualizado.

Se você está colocando muitos dados no cache, então NCache permite pesquisá-lo com base em atributos de objeto, grupos, tags e tags nomeadas. Isso torna muito fácil encontrar seus dados. Você pode usar consultas SQL ou LINQ para pesquisar o cache e NCache também cria índices para agilizar suas buscas.

Recurso: Código do lado do servidor

NCache é a única solução no espaço .NET que oferece capacidade de código do lado do servidor. Você pode implementar o Read-Thru para permitir que seu cache busque os dados do seu banco de dados e quando você combinar isso com o recurso Auto-Load, NCache recarrega automaticamente os dados nas explorações ou na sincronização do banco de dados. Você também pode implementar Write-Thru para permitir que o cache atualize seu banco de dados para você.

O write-behind atualiza o banco de dados de forma assíncrona para que seu aplicativo não precise esperar por ele. Por fim, um Cache Loader pré-carrega automaticamente o cache quando você o inicia.

Recurso: Cache do Cliente (Velocidade InProc)

NCache é a única solução em .NET que fornece um recurso de cache de cliente também chamado de “Near Cache”. Dá-lhe um desempenho InProc como se os dados de cache fossem mantidos dentro do seu processo de aplicação. O cache do cliente é um cache local para seu aplicativo, mas permanece sincronizado com a camada de cache para todas as atualizações feitas por outros aplicativos ou outros usuários. O cache do cliente dá ao seu aplicativo um aumento significativo no desempenho.

Velocidade InProc

Recurso: Replicação WAN de Cache

Se seu aplicativo for implantado em vários data centers, várias regiões do Azure ou várias zonas de disponibilidade da AWS, então NCache permite replicar o cache na WAN sem diminuir a velocidade do aplicativo em nenhum local. Você pode implantar NCache em uma configuração de data center Ativo-Passivo ou Ativo-Ativo.

Passivo ativo
Passivo ativo
Ativo-Ativo
Ativo-Ativo

Opções de implantação

.NET Framework Suporte

Como você já sabe, NCache é 100% .NET / .NET Core solução, vamos ver que tipo de suporte .NET ele tem e também vamos ver diferentes maneiras de implantar NCache. NCache fornece um cliente de cache com suporte total de ambos .NET Framework com coisas como:

  • Estrutura de Entidade 6.x
  • NHibernate Cache
  • Sessão ASP.NET
  • Ver estado
  • Cache de saída
  • ASP.NET SignalR

.NET Core Suporte

Escolha .NET Core, NCache suportes:

  • Cache Core EF
  • ASP.NET Core Número da
  • Cache de resposta
  • IDdistribuídoCache
  • ASP.NET Core Sinal R

NCache Servidor (100% .NET)

Assim como o cliente de cache, NCache servidor também é 100% .NET / .NET Core. Nenhuma outra solução tem isso, pois outras são C++ ou Linux. NCache servidor suporta .NET e .NET Core e através do .NET core Edition, você pode implantar NCache nas capacidades abaixo indicadas:

  • Servidor Windows/NanoServidor/Linux
  • Instalação no local em Windows e Linux
  • Como VM no Azure e na nuvem AWS por meio de seus marketplaces
  • Como um cache gerenciado Cloud Service Clister no Azure e AWS por meio de NCachepróprio portal de nuvem
  • Baixe uma imagem docker de NCache do hub do docker
  • Crie sua própria imagem de encaixe do cliente de NCache através de arquivos docker

O que fazer a seguir?

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