¿Qué es el servicio Azure Web PubSub?
El servicio Azure Web PubSub facilita la compilación de aplicaciones web en las que el servidor y los clientes necesitan intercambiar datos en tiempo real. El intercambio de datos en tiempo real es la base de ciertas aplicaciones sensibles al tiempo que los desarrolladores crean y mantienen. Los desarrolladores han usado el servicio en una gran variedad de aplicaciones y sectores, por ejemplo, en aplicaciones de chat, paneles en tiempo real, juegos multijugador, subastas en línea, aplicaciones colaborativas multiusuario, seguimiento de la ubicación, notificaciones, etc.
Cuando el uso de una aplicación es reducido, los desarrolladores suelen optar por un mecanismo de sondeo para proporcionar comunicación en tiempo real entre el servidor y los clientes: los clientes envían solicitudes HTTP repetidas al servidor a lo largo de un intervalo de tiempo. Sin embargo, los desarrolladores suelen informar de que, aunque el mecanismo de sondeo es sencillo de implementar, presenta tres importantes inconvenientes.
- Datos obsoletos.
- Datos inconsistentes.
- Ancho de banda y recursos de proceso desaprovechados.
Estos inconvenientes son las principales motivaciones que impulsan a los desarrolladores a buscar alternativas. En este artículo se proporciona información general sobre el servicio Azure Web PubSub y cómo los desarrolladores pueden usarlo para crear un canal de comunicación en tiempo real rápido y a gran escala.
¿Para qué se usa el servicio Azure Web PubSub?
Token de streaming en un bot de chat asistido por IA
Con el reciente aumento del interés por la IA, Web PubSub se ha convertido en una herramienta de gran valor para los desarrolladores que crean aplicaciones habilitadas para IA para el streaming de tokens. El servicio se ha probado para escalar a decenas de millones de conexiones simultáneas y ofrece una latencia ultrabaja.
Entrega de actualizaciones en tiempo real
Cualquier escenario de aplicación en el que las actualizaciones del recurso de datos deben entregarse a otros componentes de la red pueden beneficiarse del uso de Azure Web PubSub. Como sugiere el nombre, el servicio ofrece la comunicación entre un publicador y los suscriptores. Un publicador es un componente que publica actualizaciones de datos. Un suscriptor es un componente que se suscribe a las actualizaciones de datos.
El servicio Azure Web PubSub se usa en una gran cantidad de sectores y escenarios de aplicación en los que los datos son sensibles al tiempo. Esta es una lista parcial de algunos casos de uso comunes.
Caso de uso | Aplicaciones de ejemplo |
---|---|
Actualizaciones de datos de alta frecuencia | Juegos multijugador, votaciones en redes sociales, sondeos de opinión, subastas en línea |
Paneles dinámicos y supervisión | Panel de la empresa, datos del mercado financiero, actualización instantánea de ventas, tabla de clasificación del juego, supervisión de IoT |
Chat multiplataforma | Salón de chat en directo, soporte técnico al cliente en línea, asistente para la compra en tiempo real, mensajería, chat en juego |
Seguimiento de ubicación | Seguimiento de recursos de vehículos, seguimiento del estado de las entregas, actualizaciones del estado del transporte, aplicaciones de transporte por carretera |
Aplicaciones colaborativas multiusuario | coautoría, pizarra colaborativa y aplicaciones de reuniones de equipo |
Notificaciones de inserción multiplataforma | Redes sociales, correo electrónico, estado del juego, alerta de viaje |
Dispositivos IoT y conectados | Métricas de IoT en tiempo real, administración de la red de carga para vehículos eléctricos, interacción con conciertos en directo |
Automation | Desencadenador en tiempo real de los eventos de nivel superior |
¿Cuáles son las ventajas de usar Azure Web PubSub?
Compatibilidad integrada con conexiones de cliente a gran escala y arquitecturas de alta disponibilidad:
Azure Web PubSub está diseñado para aplicaciones en tiempo real a gran escala. Con un único recurso de Web PubSub, puede escalar a 1 millón de conexiones simultáneas, lo que es suficiente para la mayoría de los casos. Cuando se usan varios recursos juntos, el servicio permite escalar más allá de 1 millón de conexiones simultáneas. Al mismo tiempo, admite también varias regiones globales con fines de particionamiento, alta disponibilidad o recuperación ante desastres.
Compatibilidad con una amplia variedad de SDK de cliente y lenguajes de programación:
El servicio Azure Web PubSub funciona con una amplia gama de clientes. Estos clientes incluyen exploradores web y móviles, aplicaciones de escritorio, aplicaciones móviles, procesos de servidor, dispositivos IoT y consolas de juegos. Los SDK de cliente y servidor están disponibles para lenguajes de programación estándar, C#, Java, JavaScript y Python, lo que facilita el consumo de las API que ofrece el servicio. Dado que el servicio admite el protocolo WebSocket estándar, puede usar cualquier lenguaje de programación compatible con REST para llamar directamente a las API de Web PubSub si los SDK no están disponibles en el lenguaje de programación que prefiera.
Se ofrecen API enriquecidas para diferentes patrones de mensajes:
El servicio Azure Web PubSub ofrece comunicación bidireccional en tiempo real entre el servidor y los clientes para el intercambio de datos. El servicio ofrece características que le permiten controlar correctamente cómo se debe entregar un mensaje y a quién. Esta es una lista de patrones de mensajería admitidos.
Patrón de mensajería | Detalles |
---|---|
Difusión a todos los clientes | Un servidor envía actualizaciones de datos a todos los clientes conectados. |
Difundir a un subconjunto de clientes | Un servidor envía actualizaciones de datos a un subconjunto de clientes definidos arbitrariamente por usted. |
Difundir a todos los clientes que pertenecen a un usuario humano específico | Un usuario humano puede tener varias pestañas del navegador o dispositivo abiertas, puede difundir al usuario para que todos los clientes web que utiliza el usuario estén sincronizados. |
Sub/pub del cliente | Un cliente envía mensajes a los clientes que se encuentran en un grupo definido arbitrariamente por usted sin la participación del servidor. |
Clientes a servidor | Los clientes envían mensajes al servidor con baja latencia. |
¿Cómo usar el servicio Azure Web PubSub?
Hay muchas maneras diferentes de programar con el servicio Azure Web PubSub, como algunas de las muestras enumeradas aquí:
- Compilar aplicaciones en tiempo real sin servidor: use la integración de Azure Functions con Azure Web PubSub para crear aplicaciones en tiempo real sin servidor en lenguajes como JavaScript, C#, Java y Python.
- Use el subprotocolo WebSocket para realizar solo el servicio Pub/Sub del lado cliente: el servicio Azure Web PubSub proporciona subprotocolos WebSocket que incluyen MQTT para que los clientes autorizados puedan publicar en otros clientes cómodamente.
- Use los SDK proporcionados para administrar las conexiones de WebSocket en servidores de aplicaciones autohospedadas: el servicio Azure Web PubSub proporciona SDK en C#, JavaScript, Java y Python para administrar fácilmente las conexiones de WebSocket, incluidos los mensajes de difusión a las conexiones, agregar conexiones a algunos grupos o cerrar las conexiones, etc.
- Enviar mensajes desde el servidor a los clientes a través de la API REST: Azure Web PubSub proporciona la API REST para permitir que las aplicaciones envíen mensajes a los clientes conectados, en cualquier lenguaje de programación compatible con REST.
Inicio rápido
Pasos siguientes
Use estos recursos para empezar a compilar su propia aplicación: