Azure SignalR Service란?

Azure SignalR Service는 HTTP를 통해 애플리케이션에 실시간 웹 기능을 추가하는 프로세스를 간소화합니다. 이 실시간 기능을 사용하면 서비스가 연결된 클라이언트(예: 단일 페이지 웹 또는 모바일 애플리케이션)에 콘텐츠 업데이트를 푸시할 수 있습니다. 따라서 클라이언트는 서버를 폴링하거나 업데이트에 대한 새 HTTP 요청을 제출할 필요 없이 업데이트됩니다.

이 문서에서는 Azure SignalR Service에 대한 개요를 제공합니다.

Azure SignalR Service는 어떤 용도로 사용됩니까?

서버에서 클라이언트로 데이터를 푸시해야 하는 모든 시나리오에서 Azure SignalR Service를 사용할 수 있습니다.

일반적으로 서버의 폴링이 필요한 기존 실시간 기능도 Azure SignalR Service를 사용할 수 있습니다.

Azure SignalR Service는 매우 다양한 업계에서 실시간 콘텐츠 업데이트가 필요한 애플리케이션 유형에 사용되었습니다. 다음은 Azure SignalR Service를 사용할 수 있는 몇 가지 예입니다.

  • 고주파 데이터 업데이트: 게임, 투표, 폴링 및 경매.
  • 대시보드 및 모니터링: 회사 대시보드, 금융 시장 데이터, 인스턴트 판매 업데이트, 다중 플레이어 게임 리더 보드 및 IoT 모니터링.
  • 채팅: 라이브 채팅방, 채팅 봇, 온라인 고객 지원, 실시간 쇼핑 도우미, 메신저 및 게임 내 채팅.
  • 지도의 실시간 위치: 물류 추적, 배달 상태 추적, 운송 상태 업데이트 및 GPS 앱.
  • 실시간 타겟팅 광고: 개인 설정된 실시간 푸시 광고 및 제안 및 대화형 광고.
  • 협업 앱: 공동 작성, 화이트보드 앱, 팀 모임 소프트웨어
  • 푸시 알림: 소셜 네트워크, 이메일, 게임 및 여행 경고.
  • 실시간 방송: 라이브 오디오/비디오 브로드캐스팅, 라이브 캡션, 번역, 이벤트 및 뉴스 방송.
  • IoT 및 연결된 디바이스:: 실시간 IoT 메트릭, 원격 제어, 실시간 상태, 위치 추적
  • 자동화: 업스트림 이벤트의 실시간 트리거입니다.

Azure SignalR Service를 사용하는 이점은 무엇인가요?

표준 기반:

SignalR은 실시간 웹 애플리케이션을 빌드하는 데 사용되는 여러 기술에 대한 추상화 기능을 제공합니다. WebSocket은 최적의 전송이지만 다른 옵션을 사용할 수 없는 경우 SSE(서버 전송 이벤트) 및 긴 폴링과 같은 다른 기술이 사용됩니다. SignalR은 서버 및 클라이언트에서 지원되는 기능을 기반으로 적절한 전송을 자동으로 검색하고 초기화합니다.

네이티브 ASP.NET Core 지원:

SignalR Service는 ASP.NET Core 및 ASP.NET의 원시 프로그래밍 환경을 제공합니다. SignalR Service를 사용하여 새 SignalR 애플리케이션을 개발하거나 기존 SignalR 기반 애플리케이션에서 SignalR Service로 마이그레이션하려면 최소한의 노력이 필요합니다. SignalR Service는 ASP.NET Core의 새로운 기능인 서버 쪽 Blazor도 지원합니다.

광범위한 클라이언트 지원:

SignalR Service는 다음과 같은 광범위한 클라이언트에서 작동합니다.

  • 웹 및 모바일 브라우저
  • 데스크톱 앱
  • 모바일 앱
  • IoT 디바이스
  • 게임 콘솔

여러 언어 지원:

SignalR Service는 다양한 언어로 SDK를 제공합니다.

  • 클라이언트 쪽: SignalR 프로토콜 을 지원하는 모든 클라이언트 라이브러리는 SignalR 서비스와 호환됩니다.
  • 서버 쪽: ASP.NET Core 또는 ASP.NET 웹 애플리케이션
  • REST API, Azure Functions 트리거 및 바인딩 및 ASP.NET Core SignalR에 대한 Event Grid 통합을 통한 서버리스 지원

대규모 클라이언트 연결 처리:

SignalR Service는 대규모 실시간 애플리케이션용으로 설계되었습니다. SignalR Service를 사용하면 여러 인스턴스가 함께 작동하여 수백만 개의 클라이언트 연결로 확장될 수 있습니다. 또한 이 서비스는 분할, 고가용성 또는 재해 복구를 위해 여러 전역 지역을 지원합니다.

자체 호스트 SignalR에 대한 부담 제거:

자체 호스팅 SignalR 애플리케이션에 비해 SignalR Service로 전환하면 크기 조정 및 클라이언트 연결을 처리하는 백 플레인을 관리할 필요가 없습니다. 또한 완전 관리형 서비스는 웹 애플리케이션을 단순화하고 호스팅 비용을 절약합니다. SignalR Service는 글로벌 도달률 및 세계적 수준의 데이터 센터 및 네트워크를 제공하고, 수백만 개의 연결로 확장하며, Azure의 표준 규정 준수 및 보안을 제공합니다.

SignalR Service는 Azure Functions 및 Event Grid와의 통합을 통해 서버 기반 구성 및 서버리스 환경을 모두 지원합니다.

Managed SignalR Service

다양한 메시징 패턴에 대한 다양한 API를 제공합니다.

SignalR Service를 사용하면 서버가 특정 연결, 모든 연결 또는 특정 사용자에 속하거나 임의의 그룹에 배치된 연결의 하위 집합에 메시지를 보낼 수 있습니다.

Azure SignalR Service 사용 방법

Azure SignalR Service를 사용하여 프로그래밍하는 방법에는 여러 가지가 있습니다. 예제는 다음과 같습니다.

  • ASP.NET Core SignalR 앱 크기 조정 - Azure SignalR Service를 ASP.NET Core SignalR 애플리케이션과 통합하여 수십만 개의 연결까지 확장합니다.
  • 서버리스 실시간 앱 빌드 - Azure SignalR Service와 Azure Functions 통합을 사용하여 JavaScript, C#, Java 등의 언어로 서버리스 실시간 애플리케이션을 빌드합니다.
  • REST API 를 통해 서버에서 클라이언트로 메시지 보내기 * Azure SignalR Service는 애플리케이션이 REST 지원 프로그래밍 언어를 사용하여 SignalR Service로 연결된 클라이언트에 메시지를 게시할 수 있도록 하는 REST API를 제공합니다.