ASP.NET Core용 SignalR 백플레인

NCache 이 솔루션은 ASP.NET Core용 고성능 SignalR 백플레인 역할을 하여 실시간 웹 애플리케이션이 성능 병목 현상 없이 멀티 서버 웹 팜에서 선형적으로 확장될 수 있도록 지원합니다. 실시간 ASP.NET Core SignalR 애플리케이션은 빈번한 업데이트를 위해 서버 간 메시지 분산에 의존합니다. 이러한 애플리케이션의 예로는 온라인 게임, 실시간 금융 대시보드, 공동 작업 화이트보드, 경매 앱, 소셜 미디어 네트워크 및 실시간 상호 작용이 중요한 기타 유사한 플랫폼이 있습니다. 멀티 서버 환경에서 원활한 확장성을 보장하기 위해 SignalR은 메시지를 효율적으로 분산하는 백플레인 메커니즘을 사용합니다. NCache 강력하고 확장 가능한 기능을 제공합니다 SignalR 백플레인 이 목적을 위해.

NCache 하는 분산 캐싱 ASP.NET Core SignalR과 완벽하게 연동되는 솔루션으로, 로드 밸런싱된 멀티 서버 환경에서 실행되는 실시간 웹 애플리케이션을 지원하여 효과적인 확장성과 성능 향상을 제공합니다. NCache 또한 고급 기능을 제공합니다 게시/구독 메시징 SignalR이 여러 서버에 메시지를 효율적으로 분산하는 데 도움이 되는 기능입니다.

NCache SignalR 백플레인 아키텍처는 로드 밸런싱된 웹 팜 전체에 걸쳐 Pub/Sub 메시지 브로드캐스팅을 보여줍니다.
그림 1: 실시간 메시지 배포 흐름 NCache SignalR 백플레인으로 사용됩니다.
 

사용 NCache SignalR 백플레인으로

ASP.NET Core 애플리케이션을 구성하여 활용할 수 있습니다. NCache SignalR 백플레인으로 높은 확장성과 원활한 메시지 배포를 위해. 통합 프로세스 NCache SignalR 백플레인으로 설정하는 것은 간단합니다. 아래에 설명된 몇 가지 구성 단계만 거치면 됩니다.

  1. 설치 NCache SignalR NuGet 패키지

    추가 NCache 프로젝트에 SignalR NuGet 패키지를 추가하세요:

    Install-Package AspNetCore.SignalR.NCache
  2. appsettings.json 수정

    당신의 수정 NCache 구성 설정 앱 설정.json 파일 :

    {
      "NCacheConfiguration": {
        "CacheName": "demoCache",
        "EventKey": "chat",
      }
    }
  3. 회원가입 NCache SignalR 백플레인으로

    수정 프로그램.cs SignalR을 사용하도록 구성하려면 NCache 백플레인으로서:

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

왜 사용 하는가? NCache SignalR 백플레인으로 사용하시겠습니까?

ASP.NET Core 애플리케이션의 트래픽이 많고 로드 밸런싱된 멀티 서버 웹 팜에서 운영되는 경우, 통합을 고려해야 합니다. NCache SignalR 백플레인 솔루션으로 적합합니다. 데이터베이스 잠금으로 인해 병목 현상이 발생할 수 있는 SQL Server 백플레인과는 다릅니다. NCache 메모리 내 분산 처리를 사용하여 지연 시간을 제거합니다. 또한 네이티브 .NET 기반이므로 네이티브 솔루션이 아닌 경우 흔히 발생하는 직렬화 오버헤드를 방지합니다. Redis. NCache 강력한 .NET 분산 캐시로서 다음과 같은 이점을 제공합니다.

  1. .NET Pub/Sub 메시징으로 전송 지연을 없애세요: NCache SignalR 백플레인이 다중 노드 환경에서 여러 웹 서버에 메시지를 효율적으로 배포하는 데 사용하는 발행/구독(Pub/Sub) 메시징 기능을 제공합니다.
  2. 그룹 및 사용자 지원: NCache 관련 연결의 컬렉션인 SignalR 그룹에 메시지를 보낼 수 있습니다. 또한 특정 SignalR 사용자와 연결된 모든 연결에 타겟팅된 메시지를 보낼 수 있는 기능도 제공합니다.
  3. 100% .NET 네이티브 캐시: 원래 C++로 개발되어 나중에 Windows에 맞게 적용된 다른 캐싱 솔루션과 달리 NCache .NET용으로 기본적으로 빌드되었습니다. 이를 통해 원활한 호환성과 완벽하게 통합된 환경이 보장됩니다. ASP.NET 코어 분야의 다양한 어플리케이션에서 사용됩니다.
  4. 매우 빠르고 확장 가능: 이후 NCache 메모리 내 분산 캐시로, 대기 시간을 크게 낮추고 선형 확장성을 보장합니다. 이를 통해 애플리케이션은 성능 병목 현상 없이 대량의 메시지 처리량을 처리할 수 있습니다.
  5. 고가용성 및 데이터 안정성: NCache 를 제공합니다 자기 치유 단일 장애 지점이 없는 피어 투 피어 클러스터링 아키텍처. 또한 스마트 기능도 포함합니다. 데이터 복제 캐시 서버가 다운되어도 데이터 손실을 방지하고 복제 비용을 낮게 유지합니다.
  6. 배포 유연성: NCache 어떤 환경에도 자연스럽게 어우러지며, 지원합니다. 도커 (윈도우 및 리눅스 컨테이너) Kubernetes, Red Hat OpenShiftAzure, AWS 및 Google Cloud 배포는 물론 온프레미스 Windows/Linux 서버도 지원합니다.

다음에 무엇을할지?

자세히 알아보기 NCache ASP.NET Core SignalR 애플리케이션에 대한 이점은 다음과 같습니다.

사용하여 NCacheASP.NET Core SignalR 애플리케이션은 여러 서버에서 실시간 성능을 유지하면서 손쉽게 확장할 수 있습니다.

자주 묻는 질문 (FAQ)

다중 서버 웹 팜에서 클라이언트 연결은 특정 서버로 격리됩니다. 백플레인이 없으면 한 서버에서 전송된 메시지는 다른 서버의 클라이언트에 도달할 수 없습니다. NCache 이 시스템은 Pub/Sub 메시지 브로커 역할을 하며, 모든 서버에 메시지를 즉시 배포하여 모든 사용자를 위한 실시간 동기화를 보장합니다.

같지 않은 Redis리눅스 기반입니다. NCache 100% 네이티브 .NET으로 개발되었습니다. 이를 통해 상호 운용 직렬화에 따른 오버헤드를 제거하고 다음과 같은 이점을 제공합니다. NCache 별도의 Linux 환경이나 복잡한 클러스터링 구성 없이 기존 .NET 스택에 완벽하게 통합됩니다.

서버 측 통합은 최소한으로 필요합니다. 설치만 하면 됩니다. AspNetCore.SignalR.NCache NuGet 패키지를 추가하고 구성 블록을 추가합니다. appsettings.json무엇보다 중요한 것은 클라이언트 측 코드(JavaScript/Blazor)를 전혀 변경할 필요가 없으므로 마이그레이션이 매우 간편하다는 점입니다.

문의하기

전화

+1 214-619-2601 (미국)

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.