Fond de panier SignalR pour ASP.NET Core

NCache SignalR agit comme un backplane haute performance pour ASP.NET Core, permettant aux applications web temps réel de s'adapter linéairement à des fermes de serveurs multi-serveurs sans goulots d'étranglement. Les applications ASP.NET Core SignalR temps réel reposent sur la distribution de messages entre serveurs pour des mises à jour fréquentes. Parmi ces applications, on peut citer les jeux en ligne, les tableaux de bord financiers en temps réel, les tableaux blancs collaboratifs, les applications d'enchères et les réseaux sociaux, ainsi que d'autres plateformes similaires où l'interaction en temps réel est essentielle. Pour garantir une scalabilité optimale dans un environnement multi-serveurs, SignalR utilise un mécanisme de backplane pour distribuer efficacement les messages. NCache offre une solution puissante et évolutive Fond de panier SignalR dans ce but.

NCache est une mise en cache distribuée solution fonctionnant de manière transparente avec ASP.NET Core SignalR pour prendre en charge les applications Web en temps réel, exécutées dans des environnements multi-serveurs à charge équilibrée pour une évolutivité et des performances optimales. NCache fournit également des fonctionnalités avancées Messagerie Pub/Sub fonctionnalités permettant à SignalR de distribuer efficacement les messages sur plusieurs serveurs.

NCache Architecture de fond de panier SignalR illustrant la diffusion de messages Pub/Sub sur une ferme de serveurs Web à charge équilibrée.
Figure 1 : Flux de distribution des messages en temps réel utilisant NCache en tant que fond de panier SignalR.
 

L'utilisation de NCache comme fond de panier SignalR

Vous pouvez configurer votre application ASP.NET Core pour utiliser NCache en tant que fond de panier SignalR pour une évolutivité élevée et une distribution fluide des messages. Le processus d'intégration NCache L'utilisation d'un fond de panier SignalR est simple. Elle ne nécessite que quelques étapes de configuration, décrites ci-dessous :

  1. Installez l' NCache Paquet NuGet SignalR

    Ajoutez le NCache Package NuGet SignalR pour votre projet :

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

    Modifiez votre NCache paramètres de configuration dans le appsettings.json fichier:

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. S'enregistrer NCache en tant que fond de panier SignalR

    Modifier programme.cs pour configurer SignalR à utiliser NCache en tant que fond de panier :

    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();
 

Pourquoi utiliser NCache comme fond de panier SignalR ?

Si votre application ASP.NET Core connaît un trafic important et fonctionne sur une ferme de serveurs Web multi-serveurs à charge équilibrée, vous devriez envisager son intégration. NCache comme solution de backplane SignalR. Contrairement aux backplanes SQL Server, qui peuvent devenir un goulot d'étranglement en raison du verrouillage de la base de données, NCache utilise la distribution en mémoire pour éliminer la latence. De plus, étant une solution .NET native, elle évite la surcharge de sérialisation souvent rencontrée dans les solutions non natives comme Redis. NCache se distingue comme un puissant cache distribué .NET disponible et offre les avantages suivants :

  1. Éliminez les délais de livraison grâce à la messagerie Pub/Sub .NET: NCache offre des fonctionnalités de messagerie de type publication/abonnement (Pub/Sub), utilisées par SignalR Backplane pour distribuer efficacement les messages sur plusieurs serveurs Web dans un environnement multi-nœuds.
  2. Prise en charge des groupes et des utilisateurs : NCache Permet d'envoyer des messages aux groupes SignalR, qui regroupent des connexions apparentées. Il permet également d'envoyer des messages ciblés à toutes les connexions liées à un utilisateur SignalR spécifique.
  3. Cache 100 % natif .NET: Contrairement à d’autres solutions de mise en cache initialement développées en C++ et adaptées ultérieurement pour Windows, NCache est nativement conçu pour .NET. Cela garantit une compatibilité fluide et une expérience entièrement intégrée avec ASP.NET Core applications.
  4. Extrêmement rapide et évolutif: Depuis que NCache Il s'agit d'un cache distribué en mémoire qui réduit considérablement la latence et garantit une évolutivité linéaire. Cela permet aux applications de gérer un volume élevé de messages sans goulot d'étranglement des performances.
  5. Haute disponibilité et fiabilité des données: NCache offre une autocicatrisation Architecture de clustering pair-à-pair sans point de défaillance unique. Elle inclut également des fonctionnalités intelligentes. réplication de données pour éviter la perte de données en cas de panne d'un serveur de cache tout en maintenant les coûts de réplication à un niveau bas.
  6. Flexibilité de déploiement: NCache s'intègre parfaitement à tout environnement, soutenant Docker (Conteneurs Windows et Linux), Kubernetes, Red Hat OpenShift, les déploiements Azure, AWS et Google Cloud, ainsi que les serveurs Windows/Linux sur site.

Que faire ensuite?

En savoir plus sur NCache et ses avantages pour les applications ASP.NET Core SignalR :

En utilisant NCacheVos applications ASP.NET Core SignalR peuvent évoluer sans effort tout en maintenant des performances en temps réel sur plusieurs serveurs.

Questions fréquentes

Dans une ferme de serveurs web, les connexions client sont isolées sur des serveurs spécifiques. Sans fond de panier, les messages envoyés sur un serveur ne peuvent pas atteindre les clients d'un autre serveur. NCache Il agit comme un courtier de messages Pub/Sub, distribuant instantanément les messages sur tous les serveurs afin d'assurer une synchronisation en temps réel pour tous les utilisateurs.

Contrairement à Redis, qui est basé sur Linux, NCache est 100 % natif .NET. Cela élimine la surcharge liée à la sérialisation interopérable et permet NCache pour s'intégrer parfaitement à votre pile .NET existante sans nécessiter d'environnements Linux distincts ni de configurations de clustering complexes.

L'intégration côté serveur est minimale : il suffit d'installer le AspNetCore.SignalR.NCache Ajoutez un package NuGet et un bloc de configuration à appsettings.jsonSurtout, aucune modification n'est requise pour votre code côté client (JavaScript/Blazor), ce qui rend la migration sans effort.

Contactez-Nous

TÉLÉPHONE

+1 214-619-2601 (Etats-Unis)

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.