NCache 이 솔루션은 ASP.NET Core용 고성능 SignalR 백플레인 역할을 하여 실시간 웹 애플리케이션이 성능 병목 현상 없이 멀티 서버 웹 팜에서 선형적으로 확장될 수 있도록 지원합니다. 실시간 ASP.NET Core SignalR 애플리케이션은 빈번한 업데이트를 위해 서버 간 메시지 분산에 의존합니다. 이러한 애플리케이션의 예로는 온라인 게임, 실시간 금융 대시보드, 공동 작업 화이트보드, 경매 앱, 소셜 미디어 네트워크 및 실시간 상호 작용이 중요한 기타 유사한 플랫폼이 있습니다. 멀티 서버 환경에서 원활한 확장성을 보장하기 위해 SignalR은 메시지를 효율적으로 분산하는 백플레인 메커니즘을 사용합니다. NCache 강력하고 확장 가능한 기능을 제공합니다 SignalR 백플레인 이 목적을 위해.
NCache 하는 분산 캐싱 ASP.NET Core SignalR과 완벽하게 연동되는 솔루션으로, 로드 밸런싱된 멀티 서버 환경에서 실행되는 실시간 웹 애플리케이션을 지원하여 효과적인 확장성과 성능 향상을 제공합니다. NCache 또한 고급 기능을 제공합니다 게시/구독 메시징 SignalR이 여러 서버에 메시지를 효율적으로 분산하는 데 도움이 되는 기능입니다.
ASP.NET Core 애플리케이션을 구성하여 활용할 수 있습니다. NCache SignalR 백플레인으로 높은 확장성과 원활한 메시지 배포를 위해. 통합 프로세스 NCache SignalR 백플레인으로 설정하는 것은 간단합니다. 아래에 설명된 몇 가지 구성 단계만 거치면 됩니다.
추가 NCache 프로젝트에 SignalR NuGet 패키지를 추가하세요:
Install-Package AspNetCore.SignalR.NCache
당신의 수정 NCache 구성 설정 앱 설정.json 파일 :
{
"NCacheConfiguration": {
"CacheName": "demoCache",
"EventKey": "chat",
}
}
수정 프로그램.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();
ASP.NET Core 애플리케이션의 트래픽이 많고 로드 밸런싱된 멀티 서버 웹 팜에서 운영되는 경우, 통합을 고려해야 합니다. NCache SignalR 백플레인 솔루션으로 적합합니다. 데이터베이스 잠금으로 인해 병목 현상이 발생할 수 있는 SQL Server 백플레인과는 다릅니다. NCache 메모리 내 분산 처리를 사용하여 지연 시간을 제거합니다. 또한 네이티브 .NET 기반이므로 네이티브 솔루션이 아닌 경우 흔히 발생하는 직렬화 오버헤드를 방지합니다. Redis. NCache 강력한 .NET 분산 캐시로서 다음과 같은 이점을 제공합니다.
자세히 알아보기 NCache ASP.NET Core SignalR 애플리케이션에 대한 이점은 다음과 같습니다.
사용하여 NCacheASP.NET Core SignalR 애플리케이션은 여러 서버에서 실시간 성능을 유지하면서 손쉽게 확장할 수 있습니다.
appsettings.json무엇보다 중요한 것은 클라이언트 측 코드(JavaScript/Blazor)를 전혀 변경할 필요가 없으므로 마이그레이션이 매우 간편하다는 점입니다.