Cuándo usar ASP.NET Core SignalR
SignalR proporciona funcionalidad web en tiempo real. Recuerde que Contoso Pizza requiere un mapa en directo para realizar el seguimiento del estado y la entrega de pedidos. La pérdida de ventas durante las horas punta está llevando al equipo a investigar una solución mejor que el sondeo del lado cliente.
Criterios de decisión
Saber cuándo no elegir SignalR es tan importante como saber cuándo elegirlo. Con la funcionalidad web en tiempo real, la experiencia de los usuarios de una aplicación se basa en su capacidad de respuesta. Es mejor comprender qué partes de una aplicación requieren actualizaciones en tiempo real.
Cuándo no usar SignalR
SignalR es tan duradero como su conexión subyacente. Es decir, si hay motivo para preocuparse por la conectividad de una aplicación cliente, SignalR no es la mejor opción.
Otra consideración es la escalabilidad de SignalR. Según el número de clientes conectados simultáneamente, el servidor web podría experimentar contención de recursos al alcanzar sus límites. En situaciones como esta, es probable que deba implementar la aplicación en una granja de servidores y usar un backplane. Implementar esto por su cuenta puede ser tedioso.
Como alternativa, podría resolver este problema mediante Azure SignalR Service. O bien, puede ayudar a mitigarlo aprovechando diversos mecanismos de resistencia y recuperación ante desastres.
Modalidades de SignalR de ejemplo
Puede usar SignalR localmente, en la nube o con Azure SignalR Service.
Casos de uso válidos
SignalR no sustituye a las solicitudes HTTP tradicionales. Las aplicaciones podrían usar SignalR para saber cuándo realizar solicitudes HTTP específicas. De esta manera, se complementan entre sí.
Hay muchos casos de uso válidos para SignalR. En la lista siguiente, se enumeran buenos candidatos para SignalR:
- Aplicaciones que requieren actualizaciones de alta frecuencia del servidor:
- Juegos
- Redes sociales
- Voting (Votación)
- Subastas
- Aplicaciones de GPS
- Paneles y aplicaciones de supervisión:
- Paneles de empresa
- Mapas en directo
- Actualizaciones de ventas instantáneas
- Alertas de viajes
- Páginas de canalización de integración continua y entrega continua (CI/CD)
- Aplicaciones interactivas de colaboración y de varios usuarios:
- Aplicaciones de Whiteboard
- Aplicaciones de reuniones en equipo
- Aplicaciones de uso compartido de documentos
- Visual Studio Live Share
- Aplicaciones que requieren notificaciones instantáneas:
- Aplicaciones de correo electrónico
- Aplicaciones de chat
- Juegos basados en turnos
- Informes de serie temporal
- Acciones de GitHub, sistemas de solicitud de incorporación de cambios y problemas
Escenario de Contoso Pizza
Si está pensando en una solución de sondeo del lado cliente en el mapa de pedidos en directo de Contoso Pizza, SignalR podría ser una alternativa viable. Al igual que con todas las decisiones de programación y arquitectura, es fundamental sopesar las ventajas y desventajas de SignalR.