Caso de uso

Precios en vivo en cada pantalla de trading

Tu feed handler publica cada actualización de precio una sola vez y todos los clientes web, móviles y de escritorio que siguen ese símbolo la reciben por WebSockets seguros. Quien abre la app ve el último precio al instante gracias a un mensaje retenido.

Sin tarjeta

Mensaje de ejemplo

PUBLISH md/fx/EURUSD/quote

{"bid":1.08412,"ask":1.08415,"ts":1761120000123}

QoS 1 · TLS 8883 · PUBACK

El problema

El polling y los servidores de sockets propios no escalan

Las apps de bróker, cripto y fintech necesitan que los precios se muevan en pantalla al ritmo del mercado. El polling REST desperdicia ancho de banda y aun así llega tarde; un servidor WebSocket propio acaba reimplementando suscripciones, fan-out, reconexión y autenticación, y necesita guardias cuando todos los usuarios abren la app a la apertura del mercado.

Cómo funciona

  1. 1

    Normaliza el feed

    Tu feed handler recibe cotizaciones del mercado, del proveedor de liquidez o del proveedor de datos y las convierte en un payload compacto por símbolo.

  2. 2

    Publica una vez por símbolo

    Publica cada actualización en un topic como md/equities/AAPL/quote con el flag retain, así el broker siempre guarda el último precio de cada símbolo.

  3. 3

    Los clientes se suscriben a su watchlist

    Las apps web y móviles se conectan por WebSockets seguros y se suscriben a los símbolos en pantalla; un comodín como md/fx/+/quote cubre una clase de activo completa.

  4. 4

    El resto de tu stack también escucha

    Los servicios de alertas de precio, los paneles de riesgo y las herramientas de back office se suscriben a los mismos topics; una suscripción compartida reparte la carga entre los workers de alertas.

ConnectMQ

Qué necesita del broker

WebSockets seguros para el navegador

wss en el puerto 8084 permite que las apps web hablen MQTT directamente desde el navegador, y las apps nativas usan TLS o WebSockets, sin gateway adicional delante del broker.

Último precio retenido

Un mensaje retenido por símbolo hace que una pantalla recién abierta muestre el precio actual al momento, sin esperar al siguiente tick.

Usuarios de solo lectura

Las ACL por topic permiten que los usuarios de la app se suscriban a los datos de mercado pero nunca publiquen; solo las credenciales del feed handler pueden escribir precios.

QoS a la medida del dato

Los ticks salen con QoS 0 —el siguiente precio reemplaza al anterior—, mientras que el estado de órdenes y los avisos de cuenta usan QoS 1 para no perderse.

Qué obtienes

  • Precios que se mueven en pantalla sin polling
  • Una publicación llega a todos los clientes suscritos
  • Primer precio instantáneo en cada nueva sesión
  • Ningún servidor de fan-out WebSocket que mantener
Topics de ejemplo
md/equities/{symbol}/quote      (retained)
md/fx/{pair}/quote              (retained)
md/crypto/{pair}/trade
users/{user-id}/orders
users/{user-id}/alerts

Industrias que usan este caso

Preguntas frecuentes

¿MQTT es lo bastante rápido para datos de mercado en tiempo real?

Para distribuir precios a apps web, móviles y de escritorio, sí: MQTT empuja cada actualización a los suscriptores en cuanto llega, con muy poca sobrecarga de protocolo. No sustituye al co-location ni a los enlaces de baja latencia de los motores de casación y el trading algorítmico: úsalo para la última milla hasta la pantalla del usuario.

¿MQTT o WebSocket para hacer streaming de cotizaciones?

Funcionan juntos. WebSocket es la conexión que puede abrir un navegador; MQTT sobre ella añade topics, comodines, últimos valores retenidos, QoS y autenticación, para que no tengas que diseñar tu propio protocolo de mensajes ni tu lógica de fan-out. ConnectMQ acepta MQTT sobre WebSockets seguros de serie.

¿Cómo evito que los usuarios de la app publiquen precios falsos?

Da a los usuarios de la app credenciales que solo puedan suscribirse a los topics de datos de mercado y concede permisos de publicación únicamente al feed handler. Qué usuario puede ver los datos de qué mercado sigue decidiéndolo tu sistema de entitlements: él asigna las credenciales y los topics de cada usuario.

Constrúyelo sobre ConnectMQ

Empieza con el plan Free, sin tarjeta: conecta hoy tus primeros dispositivos y mejora tu plan cuando entres en producción.