Backplane SignalR per ASP.NET Core

NCache SignalR funge da backplane ad alte prestazioni per ASP.NET Core, consentendo alle applicazioni web in tempo reale di scalare linearmente su farm di server multipli senza colli di bottiglia nelle prestazioni. Le applicazioni SignalR ASP.NET Core in tempo reale si basano sulla distribuzione di messaggi tra i server per aggiornamenti ad alta frequenza. Esempi di tali applicazioni includono giochi online, dashboard finanziarie in tempo reale, lavagne collaborative, app per aste e social network, nonché altre piattaforme simili in cui l'interazione in tempo reale è fondamentale. Per garantire una scalabilità senza interruzioni in un ambiente multi-server, SignalR si affida a un meccanismo di backplane per distribuire i messaggi in modo efficace. NCache offre una soluzione potente e scalabile Backplane SignalR per questo scopo.

NCache è un cache distribuita Una soluzione che si integra perfettamente con ASP.NET Core SignalR per supportare applicazioni web in tempo reale, eseguite in ambienti multi-server con bilanciamento del carico per una scalabilità efficace e un incremento delle prestazioni. NCache fornisce anche avanzate Messaggistica Pub/Sub funzionalità che aiutano SignalR a distribuire i messaggi in modo efficiente su più server.

NCache Architettura del backplane di SignalR che mostra la trasmissione di messaggi Pub/Sub su un data center web con bilanciamento del carico.
Figura 1: Flusso di distribuzione dei messaggi in tempo reale utilizzando NCache come backplane SignalR.
 

utilizzando NCache come backplane SignalR

È possibile configurare l'applicazione ASP.NET Core per utilizzare NCache come backplane SignalR per un'elevata scalabilità e una distribuzione fluida dei messaggi. Il processo di integrazione NCache L'installazione di un backplane SignalR è semplice. Richiede solo pochi passaggi di configurazione, come descritto di seguito:

  1. installare il NCache Pacchetto NuGet SignalR

    Aggiungere il NCache Pacchetto SignalR NuGet per il tuo progetto:

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

    Modifica il tuo NCache impostazioni di configurazione in appsettings.json file:

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. Registrati NCache come backplane SignalR

    modificare Programma.cs per configurare SignalR per l'utilizzo NCache come 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();
 

Perché usare NCache come backplane di SignalR?

Se la tua applicazione ASP.NET Core ha un traffico elevato e opera in una web farm multi-server con bilanciamento del carico, dovresti considerare l'integrazione NCache come soluzione SignalR Backplane. A differenza dei backplane di SQL Server, che possono diventare un collo di bottiglia a causa del blocco del database, NCache Utilizza la distribuzione in memoria per eliminare la latenza. Inoltre, essendo nativo .NET, evita il sovraccarico di serializzazione spesso riscontrato in soluzioni non native come Redis. NCache si distingue come una potente cache distribuita .NET disponibile e offre i seguenti vantaggi:

  1. Elimina i ritardi di consegna con la messaggistica Pub/Sub .NET: NCache Offre funzionalità di messaggistica Publish/Subscribe (Pub/Sub), utilizzate da SignalR Backplane per distribuire efficacemente i messaggi su più server web in un ambiente multi-nodo.
  2. Supporto per gruppi e utenti: NCache consente di inviare messaggi ai gruppi SignalR, che sono raccolte di connessioni correlate. Ti dà anche la possibilità di inviare messaggi mirati a tutte le connessioni collegate a uno specifico utente SignalR.
  3. Cache nativa .NET al 100%: A differenza di altre soluzioni di caching originariamente sviluppate in C++ e successivamente adattate per Windows, NCache è nativamente sviluppato per .NET. Ciò garantisce una compatibilità fluida e un'esperienza completamente integrata con ASP.NET Core applicazioni.
  4. Estremamente veloce e scalabile: Dal NCache è una cache distribuita in memoria, riduce significativamente la latenza e garantisce una scalabilità lineare. Ciò consente alle applicazioni di gestire un elevato volume di throughput dei messaggi senza alcun collo di bottiglia nelle prestazioni.
  5. Elevata disponibilità e affidabilità dei dati: NCache offre auto-guarigione architettura di clustering peer-to-peer senza singoli punti di errore. Include anche smart replicazione dei dati per prevenire la perdita di dati in caso di guasto di un server cache, mantenendo bassi i costi di replicazione.
  6. Flessibilità di distribuzione: NCache si adatta perfettamente a qualsiasi ambiente, supportando docker (contenitori Windows e Linux), kubernetes, Red Hat OpenShift, distribuzioni Azure, AWS e Google Cloud, nonché server Windows/Linux locali.

Cosa fare dopo?

Scopri di più su NCache e i suoi vantaggi per le applicazioni ASP.NET Core SignalR:

Utilizzando NCacheLe tue applicazioni ASP.NET Core SignalR possono scalare senza problemi mantenendo prestazioni in tempo reale su più server.

Domande frequenti (FAQ)

In una web farm multi-server, le connessioni client sono isolate su server specifici. Senza un backplane, i messaggi inviati su un server non possono raggiungere i client su un altro. NCache agisce come broker di messaggi Pub/Sub, distribuendo istantaneamente i messaggi su tutti i server per garantire la sincronizzazione in tempo reale per tutti gli utenti.

a differenza di Redis, che è basato su Linux, NCache è 100% .NET nativo. Ciò elimina il sovraccarico della serializzazione dell'interoperabilità e consente NCache per integrarsi perfettamente nel tuo stack .NET esistente senza richiedere ambienti Linux separati o configurazioni di clustering complesse.

L'integrazione lato server è minima: basta installare il AspNetCore.SignalR.NCache Pacchetto NuGet e aggiungi un blocco di configurazione a appsettings.jsonFondamentalmente, non sono necessarie modifiche al codice lato client (JavaScript/Blazor), rendendo la migrazione semplice e immediata.

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.