¿Qué es Azure SignalR Service?
Azure SignalR Service simplifica la incorporación de funcionalidades web en tiempo real a las aplicaciones a través de HTTP. Esta funcionalidad en tiempo real permite al servicio insertar las actualizaciones de contenido en los clientes conectados, como una única página web o aplicaciones móviles. Como resultado, los clientes se actualizan sin necesidad de sondear el servidor ni de enviar nuevas solicitudes HTTP para las actualizaciones.
En este artículo se proporciona una introducción a Azure SignalR Service.
¿Para qué se usa Azure SignalR Service?
En cualquier escenario que requiera la inserción de datos del servidor al cliente en tiempo real, puede usar Azure SignalR Service.
Las características en tiempo real tradicionales en las que normalmente es necesario sondear un servidor también pueden usar Azure SignalR Service.
Azure SignalR Service se ha utilizado en una amplia variedad de sectores, para cualquier tipo de aplicación que requiera actualizaciones de contenido en tiempo real. Estos son algunos ejemplos de casos de uso de Azure SignalR Service:
- Actualizaciones de datos de alta frecuencia: juegos, votaciones, sondeos y subastas.
- Paneles y supervisión: paneles de empresas, datos de mercados financieros, actualización instantánea de ventas, marcadores de juegos multijugador y supervisión de IoT.
- Chat: salones de chat en directo, bots de chat, asistencia al cliente en línea, dependientes en tiempo real, mensajería y chats en el juego.
- Ubicación en tiempo real en el mapa: seguimiento de logística, seguimiento del estado de entregas, actualizaciones del estado de transportes y aplicaciones GPS.
- Publicidad dirigida en tiempo real: ofertas y anuncios personalizados insertados en tiempo real y anuncios interactivos.
- Aplicaciones de colaboración: las aplicaciones de pizarra y coautoría, y el software de reuniones de equipo.
- Notificaciones de inserción: redes sociales, correo electrónico, juegos, alertas de viajes.
- Difusión en tiempo real: difusión de audio y vídeo en directo, subtítulos en directo, traducción y difusión de eventos y noticias.
- IoT y dispositivos conectados: métricas de IoT en tiempo real, control remoto, estado en tiempo real y seguimiento de la ubicación.
- Automatización: desencadenadores en tiempo real que proceden de eventos previos.
¿Cuáles son las ventajas de usar Azure SignalR Service?
Basadas en el estándar:
SignalR proporciona una abstracción de una serie de técnicas que se usan para crear aplicaciones web en tiempo real. WebSockets es el transporte óptimo, pero otras técnicas, como Server-Sent Events (SSE) y Long Polling, se usan cuando otras opciones no están disponibles. SignalR detecta e inicializa automáticamente el transporte adecuado en función de las características admitidas en el servidor y el cliente.
Compatibilidad nativa con ASP.NET Core:
SignalR Service proporciona una experiencia de programación nativa con ASP.NET Core y ASP.NET. Desarrollar nuevas aplicaciones de SignalR con SignalR Service o migrar una aplicación basada en SignalR a SignalR Service requiere un esfuerzo mínimo. SignalR Service también es compatible con la nueva característica de ASP.NET Core, Blazor de servidor.
Compatibilidad con clientes extranjeros:
SignalR Service funciona con una amplia gama de clientes, como los siguientes:
- Exploradores web y móviles.
- aplicaciones de escritorio
- Aplicaciones móviles.
- Dispositivos IoT
- Consolas de juegos.
Compatibilidad con varios lenguajes:
SignalR Service ofrece SDK de diferentes lenguajes:
- Lado cliente: las bibliotecas cliente compatibles con el protocolo SignalR son compatibles con SignalR Service.
- Lado servidor: aplicaciones web de ASP.NET Core o ASP.NET.
- Soporte sin servidor a través de API REST, activadores y enlaces de Azure Functions e integraciones de Event Grid para ASP.NET Core SignalR.
Control de las conexiones de cliente a gran escala:
SignalR Service está diseñado para las aplicaciones en tiempo real a gran escala. SignalR Service permite que funcionen varias instancias conjuntamente para escalar a millones de conexiones de cliente. El servicio también admite varias regiones globales para el particionamiento, la alta disponibilidad o la recuperación ante desastres.
Se quita la carga de SignalR autohospedado:
En comparación con las aplicaciones de SignalR autohospedadas, al cambiar a SignalR Service se evita tener que administrar backplanes que controlen el escalado y las conexiones de cliente. El servicio totalmente administrado también simplifica las aplicaciones web y ahorra el costo del hospedaje. SignalR Service ofrece un alcance global y un centro de datos y una red de talla mundial, se escala a millones de conexiones y proporciona el cumplimiento normativo y la seguridad estándar de Azure.
SignalR Service admite tanto configuraciones basadas en servidor como entornos sin servidor, gracias a la integración con Azure Functions y Event Grid.
Se ofrecen API enriquecidas para diferentes patrones de mensajes:
SignalR Service permite al servidor enviar mensajes a una conexión en particular, a todas o a un subconjunto de conexiones que pertenecen a un usuario específico o que se han colocado en un grupo arbitrario.
Cómo usar Azure SignalR Service
Hay muchas formas de programar con Azure SignalR Service. Estos son unos ejemplos:
- Escalar una aplicación de ASP.NET Core SignalR: integre Azure SignalR Service con una aplicación de ASP.NET Core SignalR para escalar horizontalmente cientos de miles de conexiones.
- Crear aplicaciones en tiempo real sin servidor: use la integración de Azure Functions con Azure SignalR Service para crear aplicaciones en tiempo real sin servidor en lenguajes como JavaScript, C# y Java.
- Enviar mensajes del servidor a clientes a través de una API REST: Azure SignalR Service proporciona una API REST para que las aplicaciones envíen mensajes a los clientes conectados con SignalR Service, con cualquier lenguaje de programación compatible con REST.