Elige una capacidad de Azure Web PubSub

Azure Web PubSub ofrece múltiples formas de añadir comunicación en tiempo real a una aplicación. Puedes empezar con primitivas de mensajería flexibles, mantener un protocolo y un modelo de programación establecidos, o usar APIs diseñadas para un escenario de aplicación específico.

La elección correcta te permite evitar construir u operar capacidades que no diferencien tu aplicación. Este artículo explica qué ofrece cada opción, qué permanece bajo tu control y dónde cada opción ofrece más valor.

Elige según lo que quieras construir

Si necesitas... Empieza con... Por qué
Diseña comportamientos personalizados en tiempo real para paneles, juegos, notificaciones, transmisión de tokens de IA, señalización u otros escenarios de aplicación Web PubSub (servicio base) Tú controlas el protocolo de aplicación y la lógica de negocio mientras Azure gestiona las conexiones y la entrega de mensajes.
Escalar una aplicación Socket.IO existente o utilizar las APIs y el ecosistema de Socket.IO Socket.IO en Azure Mantienes el modelo de programación Socket.IO sin operar Socket.IO infraestructura de conexión ni un adaptador.
Conecta clientes MQTT a través de WebSocket o intercambia mensajes entre los clientes MQTT y Web PubSub Soporte MQTT Puedes usar bibliotecas cliente MQTT y dejar que Web PubSub traduzca entre conceptos MQTT soportados y nativos.
Añade chat uno a uno o en grupo con salas, membresía, orden de mensajes e historial Chat web de PubSub Obtienes APIs específicas para chat y capacidades de chat gestionado en lugar de diseñarlas a partir de primitivas de mensajería de bajo nivel.

Entiende cómo difieren las capacidades

Piensa en el Web PubSub base como una base flexible en tiempo real. Te da bloques básicos como conexiones, usuarios, grupos y eventos. Tú decides qué significan esos bloques en tu solicitud.

Las otras capacidades eliminan trabajo para una necesidad más específica:

  • Socket.IO en Azure preserva el modelo de programación que Socket.IO desarrolladores ya conocen.
  • El soporte MQTT adapta un subconjunto compatible de MQTT a Web PubSub para que los clientes MQTT puedan participar en mensajería en tiempo real.
  • El chat Web PubSub ofrece un modelo de aplicación de nivel superior para salas, miembros, mensajes e historial.

No son nombres intercambiables para la misma API. La mejor opción es la que coincida con las abstracciones que tu aplicación ya usa o que tendría que construir.

Área Web PubSub (servicio base) Socket.IO en Azure Soporte para MQTT Chat web de PubSub
Valor primario Bloques de construcción flexibles en tiempo real Desarrollo Socket.IO familiar sin escalado autoalojado Compatibilidad de clientes MQTT e interoperabilidad de protocolos Un modelo de chat listo para usar
Superficie de programación SDKs web de PubSub, subprotocolos WebSocket, gestores de eventos y APIs REST Socket.IO APIs de cliente y servidor Paquetes y conceptos MQTT soportados sobre WebSocket APIs de cliente y servidor de chat
Conceptos principales de aplicación Conexiones, usuarios, grupos y eventos Sockets, habitaciones, espacios de nombres y eventos Clientes, temas, suscripciones y mensajes Usuarios, salas, miembros, mensajes e historial
Azure handles Ciclo de vida de la conexión, escalado, enrutamiento y expansión del mensaje Alojamiento de conexiones, escalado y coordinación entre servidores de aplicaciones Traducción entre los conceptos soportados de MQTT y Web PubSub Entrega en tiempo real, dispersión, membresía en habitaciones, pedidos de mensajes y persistencia
Tú diseñas Modelo de eventos, cargas útiles, flujo de autorización, lógica de negocio y cualquier persistencia Eventos de aplicación y lógica de negocio Diseño temático, lógica de negocio y capacidades fuera del subconjunto MQTT soportado Experiencia en chat, identidades de aplicaciones, asignaciones de autorización y lógica de negocio
Mejor ajuste Cargas de trabajo personalizadas o mixtas en tiempo real Aplicaciones Socket.IO nuevas o existentes Clientes web que utilizan bibliotecas MQTT o clientes mixtos MQTT y Web PubSub Aplicaciones donde el chat es una función del producto

Web PubSub (servicio base)

Elige Web PubSub base cuando la flexibilidad sea más valiosa que un modelo de aplicación diseñado específicamente. Proporciona transporte y enrutamiento gestionados en tiempo real, dejando tu modelo de eventos y el comportamiento empresarial bajo tu control.

Por ejemplo, tu solicitud puede:

  • Envía una actualización a todos los clientes conectados, a un grupo, a un usuario o a una conexión.
  • Recibir eventos del cliente en un servidor de aplicaciones o en Azure Functions.
  • Permite que los clientes autorizados publiquen mensajes directamente en un grupo.
  • Utiliza cargas útiles y eventos personalizados para flujos de trabajo específicos de la aplicación.

Esta flexibilidad es útil para paneles en directo, coordinación multijugador, notificaciones, experiencias colaborativas, actualizaciones de dispositivos, señalización y transmisión de tokens con IA. Evitas operar servidores WebSocket, pero sigues diseñando funciones de dominio como la persistencia de mensajes, el historial o la membresía en el chat cuando tu aplicación los necesita.

Socket.IO en Azure

Elige Socket.IO en Azure cuando tu equipo ya Socket.IO use o quiera sus APIs y ecosistema orientados a eventos.

En una aplicación Socket.IO autoalojada, tu equipo debe mantener conexiones con estado de cliente y coordinar múltiples servidores Socket.IO mediante un adaptador. Socket.IO en Azure gestiona la infraestructura de conexión y la coordinación del servidor. Esta gestión permite que tus servidores de aplicación se centren en la gestión de eventos y la lógica de negocio.

El valor clave es la continuidad: puedes conservar el modelo de programación Socket.IO y migrar una aplicación existente con solo cambios limitados en el código en lugar de rediseñarla alrededor de una API en tiempo real diferente.

Para saber más, consulta la sección Resumen Socket.IO sobre Azure.

Soporte para MQTT

Elige soporte MQTT cuando los clientes usan librerías MQTT y se conectan a través de WebSocket, o cuando los clientes MQTT necesiten intercambiar mensajes con clientes nativos de Web PubSub.

Web PubSub reconoce los mensajes MQTT compatibles y asigna conceptos MQTT, como temas y suscripciones, a los conceptos Web PubSub. Este mapeo te evita construir y operar una capa de traducción de protocolos separada.

El soporte MQTT en Web PubSub es una adaptación ligera, no un broker MQTT completo. Solo soporta las funciones MQTT que se asignan a Web PubSub. No se admiten funciones como suscripciones comodines, mensajes retenidos, suscripciones compartidas y alias de temas.

Si tu solución requiere un broker MQTT completo, considera el soporte MQTT en Azure Event Grid. Para escenarios compatibles con Web PubSub y detalles de protocolo, consulte MQTT en el servicio Azure Web PubSub.

Chat web de PubSub

Elige chat Web PubSub cuando el chat sea una función del producto y quieras dedicar tiempo de desarrollo a la experiencia del usuario en lugar de crear el modelo de chat subyacente.

Usando Web PubSub base, puedes crear chats personalizados, pero tu equipo define las cargas útiles de los mensajes e implementa preocupaciones como salas, membresía, orden de mensajes e historial. El chat web PubSub proporciona esos conceptos a través de APIs y SDKs diseñados específicamente para ese propósito.

El chat de Web PubSub es una capacidad de nivel superior construida sobre la infraestructura en tiempo real de Web PubSub. Proporciona:

  • Uno a uno y en grupo en chat.
  • Salas y gestión de miembros.
  • Ordené mensajes en tiempo real.
  • Persistencia del mensaje e historial de salas.
  • Roles y permisos para las operaciones de chat.

Sigues siendo el responsable de la integración de identidad, la experiencia de usuario y las reglas de negocio de tu aplicación, mientras que el servicio gestiona la infraestructura común de chat.

Para saber más, consulta ¿Qué es el chat de Web PubSub?

Toma la decisión

Utiliza estas preguntas para acotar la decisión:

  1. ¿Necesitas preservar Socket.IO APIs o migrar una aplicación Socket.IO? Elige Socket.IO en Azure.
  2. ¿Tus clientes necesitan comunicarse usando el protocolo MQTT compatible a través de WebSocket? Elige soporte MQTT.
  3. ¿Necesitas salas integradas, miembros, pedidos de mensajes e historial de mensajes para una experiencia de chat? Elige el chat de Web PubSub.
  4. ¿Necesitas un modelo de eventos personalizado o un escenario en tiempo real que no encaje con las opciones anteriores? Elige Web PubSub (servicio base).

Elegir una capacidad más especializada puede acortar el tiempo de desarrollo porque Azure proporciona más del modelo de aplicación. Elegir el servicio base te da más control cuando tus necesidades son únicas. Empieza con la capacidad de más alto nivel que se adapte a tus necesidades y utiliza el servicio base cuando esa flexibilidad aporte valor para tu aplicación.