Plataforma SignalR para ASP.NET Core

NCache Funciona como un backplane de SignalR de alto rendimiento para ASP.NET Core, lo que permite que las aplicaciones web en tiempo real escalen linealmente en granjas de servidores sin cuellos de botella de rendimiento. Las aplicaciones SignalR de ASP.NET Core en tiempo real dependen de la distribución de mensajes entre servidores para actualizaciones de alta frecuencia. Algunos ejemplos de estas aplicaciones son los juegos en línea, los paneles financieros en vivo, las pizarras colaborativas, las aplicaciones de subastas y las redes sociales, así como otras plataformas similares donde la interacción en tiempo real es fundamental. Para garantizar una escalabilidad fluida en un entorno de múltiples servidores, SignalR se basa en un mecanismo de backplane para distribuir los mensajes de manera eficaz. NCache ofrece una solución potente y escalable Plano posterior SignalR para este propósito.

NCache es un almacenamiento en caché distribuido Solución que funciona a la perfección con ASP.NET Core SignalR para admitir aplicaciones web en tiempo real, ejecutándose en entornos multiservidor con equilibrio de carga para lograr una escalabilidad efectiva y mejoras en el rendimiento. NCache También proporciona información avanzada Mensajes de publicación/suscripción Características que ayudan a SignalR a distribuir mensajes de manera eficiente entre múltiples servidores.

NCache Arquitectura de la placa base de SignalR que muestra la difusión de mensajes Pub/Sub a través de una granja de servidores web con balanceo de carga.
Figura 1: Flujo de distribución de mensajes en tiempo real utilizando NCache como placa base SignalR.
 

El uso de NCache como plano posterior de SignalR

Puede configurar su aplicación ASP.NET Core para utilizar NCache como un plano posterior de SignalR Para una alta escalabilidad y una distribución fluida de mensajes. El proceso de integración NCache La configuración como placa base SignalR es sencilla. Solo requiere unos pocos pasos, como se detalla a continuación:

  1. Instale la NCache Paquete NuGet de SignalR

    Agregar el formulario NCache Paquete NuGet de SignalR para su proyecto:

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

    Modifica tu NCache ajustes de configuración en el configuración de aplicaciones.json archivo:

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. Registrarse NCache como un plano posterior de SignalR

    modificar Program.cs Para configurar SignalR para usar NCache como placa posterior:

    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 qué usar NCache ¿Como placa base de SignalR?

Si su aplicación ASP.NET Core experimenta un alto tráfico y opera en una granja web de múltiples servidores con equilibrio de carga, entonces debería considerar la integración NCache como su solución de backplane de SignalR. A diferencia de los backplanes de SQL Server, que pueden convertirse en un cuello de botella debido al bloqueo de la base de datos, NCache Utiliza la distribución en memoria para eliminar la latencia. Además, al ser .NET nativo, evita la sobrecarga de serialización que suele encontrarse en soluciones no nativas como Redis. NCache Se destaca como un potente caché distribuido .NET disponible y ofrece los siguientes beneficios:

  1. Elimine los retrasos en la entrega con la mensajería Pub/Sub de .NET: NCache Ofrece capacidades de mensajería de publicación/suscripción (Pub/Sub), que SignalR Backplane utiliza para distribuir mensajes de manera efectiva entre varios servidores web en un entorno de múltiples nodos.
  2. Soporte para Grupos y Usuarios: NCache Permite enviar mensajes a grupos de SignalR, que son conjuntos de conexiones relacionadas. También permite enviar mensajes dirigidos a todas las conexiones vinculadas con un usuario específico de SignalR.
  3. Caché 100% nativa .NET: A diferencia de otras soluciones de almacenamiento en caché que se desarrollaron originalmente en C++ y luego se adaptaron para Windows, NCache Está desarrollado de forma nativa para .NET. Esto garantiza una compatibilidad fluida y una experiencia totalmente integrada con ASP.NET Core aplicaciones.
  4. Extremadamente rápido y escalable: Desde NCache Es una caché distribuida en memoria que reduce significativamente la latencia y garantiza una escalabilidad lineal. Esto permite que las aplicaciones gestionen un alto volumen de mensajes sin cuellos de botella en el rendimiento.
  5. Alta disponibilidad y confiabilidad de los datos: NCache ofrece un la auto-sanación Arquitectura de agrupación punto a punto sin punto único de fallo. También incluye inteligencia artificial. replicacion de datos para evitar la pérdida de datos si un servidor de caché falla y al mismo tiempo mantener bajos los costos de replicación.
  6. Flexibilidad de implementación: NCache Se integra perfectamente en cualquier entorno, soportando Docker (Contenedores de Windows y Linux), Kubernetes, Red Hat OpenShiftImplementaciones de Azure, AWS y Google Cloud, así como servidores Windows/Linux locales.

¿Qué hacer a continuación?

Explore más sobre NCache y sus ventajas para las aplicaciones SignalR de ASP.NET Core:

Mediante el uso de NCacheSus aplicaciones ASP.NET Core SignalR pueden escalar sin esfuerzo manteniendo un rendimiento en tiempo real en múltiples servidores.

Preguntas frecuentes

En una granja web multiservidor, las conexiones de los clientes se aíslan en servidores específicos. Sin un backplane, los mensajes enviados en un servidor no pueden llegar a los clientes en otro. NCache actúa como un agente de mensajes Pub/Sub, distribuyendo instantáneamente mensajes entre todos los servidores para garantizar la sincronización en tiempo real para todos los usuarios.

Quitar 'Me gusta' Redis, que está basado en Linux, NCache es 100% .NET nativo. Esto elimina la sobrecarga de la serialización de interoperabilidad y permite NCache para adaptarse perfectamente a su pila .NET existente sin requerir entornos Linux separados o configuraciones de clúster complejas.

La integración del lado del servidor es mínima: simplemente instale el AspNetCore.SignalR.NCache Paquete NuGet y agregue un bloque de configuración a appsettings.jsonFundamentalmente, no se requieren cambios en el código del lado del cliente (JavaScript/Blazor), lo que hace que la migración sea sencilla.

Contáctenos

TELÉFONO

+1 214-619-2601 (EE.UU.)

+44 20 7993 8327 (Reino Unido)

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.