Backplane SignalR para ASP.NET Core

NCache Funciona como um backplane SignalR de alto desempenho para ASP.NET Core, permitindo que aplicações web em tempo real sejam escaladas linearmente em farms de servidores web sem gargalos de desempenho. Aplicações ASP.NET Core SignalR em tempo real dependem da distribuição de mensagens entre servidores para atualizações de alta frequência. Exemplos dessas aplicações incluem jogos online, painéis financeiros ao vivo, quadros brancos colaborativos, aplicativos de leilão e redes sociais, bem como outras plataformas similares onde a interação em tempo real é fundamental. Para garantir escalabilidade perfeita em um ambiente com múltiplos servidores, o SignalR utiliza um mecanismo de backplane para distribuir mensagens de forma eficaz. NCache oferece um poderoso e escalável Backplane SignalR para esta finalidade.

NCache é um cache distribuído Solução que funciona perfeitamente com o ASP.NET Core SignalR para oferecer suporte a aplicativos da Web em tempo real, executados em ambientes com vários servidores e balanceamento de carga, proporcionando escalabilidade eficaz e aumento de desempenho. NCache também fornece avançado Mensagens do Pub/Sub recursos para ajudar o SignalR a distribuir mensagens de forma eficiente entre vários servidores.

NCache Arquitetura de backplane do SignalR mostrando a transmissão de mensagens Pub/Sub em um cluster web com balanceamento de carga.
Figura 1: Fluxo de distribuição de mensagens em tempo real usando NCache como um backplane SignalR.
 

Utilizar painéis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefícios: NCache como plano de fundo SignalR

Você pode configurar seu aplicativo ASP.NET Core para utilizar NCache como um backplane SignalR para alta escalabilidade e distribuição suave de mensagens. O processo de integração NCache Configurar um backplane SignalR é simples. Envolve apenas alguns passos de configuração, conforme descrito abaixo:

  1. Instale o NCache Pacote NuGet SignalR

    Adicionar o NCache Pacote SignalR NuGet para seu projeto:

    Install-Package AspNetCore.SignalR.NCache
  2. Modificar appsettings.json

    Modifique o seu NCache configurações de configuração no appsettings.json arquivo:

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. Registrar-se NCache como um backplane SignalR

    modificar Programa.cs para configurar o SignalR para usar NCache como um backplane:

    using Alachisoft.NCache.AspNetCore.SignalR;
    
    var builder = WebApplication.CreateBuilder(args);
    
    // Bind NCache configuration section
    builder.Services.Configure<NCacheConfiguration>(
        builder.Configuration.GetSection("NCacheConfiguration"));
    
    // Register SignalR with NCache backplane
    builder.Services.AddSignalR().AddNCache(ncacheOptions =>
    {
        ncacheOptions.CacheName = builder.Configuration["NCacheConfiguration:CacheName"];
        ncacheOptions. EventKey = builder.Configuration["NCacheConfiguration: EventKey"];
    });
    
    var app = builder.Build();
    
    // Map your SignalR hub endpoint directly 
    app.MapHub<YourSignalRHub>("/your-hub");
    
    app.Run();
 

Por que usar NCache como um backplane do SignalR?

Se sua aplicação ASP.NET Core recebe alto tráfego e opera em um ambiente web com balanceamento de carga e múltiplos servidores, então você deve considerar a integração de NCache como sua solução de backplane SignalR. Ao contrário dos backplanes do SQL Server, que podem se tornar um gargalo devido ao bloqueio do banco de dados, NCache Utiliza distribuição em memória para eliminar a latência. Além disso, por ser nativo do .NET, evita a sobrecarga de serialização frequentemente encontrada em soluções não nativas como Redis. NCache destaca-se como um poderoso Cache Distribuído .NET disponível e oferece os seguintes benefícios:

  1. Elimine atrasos na entrega com mensagens Pub/Sub do .NET.: NCache Oferece recursos de mensagens de publicação/assinatura (Pub/Sub), que são usados ​​pelo SignalR Backplane para distribuir mensagens de forma eficaz entre vários servidores web em um ambiente com vários nós.
  2. Suporte para grupos e usuários: NCache permite enviar mensagens para grupos SignalR, que são coleções de conexões relacionadas. Também dá a você a habilidade de enviar mensagens direcionadas para todas as conexões vinculadas a um usuário SignalR específico.
  3. Cache 100% nativo .NET: Ao contrário de outras soluções de cache que foram originalmente desenvolvidas em C++ e posteriormente adaptadas para Windows, NCache é nativamente construído para .NET. Isso garante compatibilidade suave e uma experiência totalmente integrada com ASP.NET Core aplicações.
  4. Extremamente rápido e escalável: Como NCache é um cache distribuído na memória, ele reduz significativamente a latência e garante escalabilidade linear. Isso permite que os aplicativos lidem com um alto volume de transferência de mensagens sem quaisquer gargalos de desempenho.
  5. Alta disponibilidade e confiabilidade de dados: NCache oferece um auto-cura arquitetura de cluster ponto a ponto sem ponto único de falha. Inclui também sistemas inteligentes replicação de dados para evitar perda de dados caso um servidor de cache fique inativo, mantendo os custos de replicação baixos.
  6. Flexibilidade de implantação: NCache Adapta-se perfeitamente a qualquer ambiente, oferecendo suporte. Estivador (Contêineres Windows e Linux), Kubernetes, Red Hat OpenShiftimplantações no Azure, AWS e Google Cloud, bem como servidores Windows/Linux locais.

O que fazer a seguir?

Explore mais sobre NCache e seus benefícios para aplicações ASP.NET Core SignalR:

Usando NCacheCom o SignalR, seus aplicativos ASP.NET Core podem ser dimensionados sem esforço, mantendo o desempenho em tempo real em vários servidores.

Perguntas Frequentes (FAQ)

Em um cluster web com múltiplos servidores, as conexões dos clientes são isoladas para servidores específicos. Sem um backplane, as mensagens enviadas em um servidor não conseguem alcançar os clientes em outro. NCache Atua como um agente de mensagens Pub/Sub, distribuindo instantaneamente mensagens por todos os servidores para garantir a sincronização em tempo real para todos os usuários.

Diferentemente dos Redis, que é baseado em Linux, NCache É 100% nativo do .NET. Isso elimina a sobrecarga da serialização de interoperabilidade e permite NCache para se integrar perfeitamente à sua infraestrutura .NET existente, sem exigir ambientes Linux separados ou configurações complexas de cluster.

A integração do lado do servidor é mínima: basta instalar o AspNetCore.SignalR.NCache Pacote NuGet e adicione um bloco de configuração ao appsettings.jsonFundamentalmente, não são necessárias alterações no código do lado do cliente (JavaScript/Blazor), tornando a migração muito fácil.

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