MQTT gestionado en la nube

Alternativa a HiveMQ Cloud: un marco justo para comparar brokers MQTT gestionados

Un marco neutral para comparar brokers MQTT gestionados: qué revisar en soporte de protocolos, límites, funciones industriales, herramientas y portabilidad, más un script de prueba que funciona sin cambios con cualquier broker basado en estándares.

Ilustración de una tabla comparativa para elegir una alternativa a HiveMQ Cloud, con varios brokers MQTT gestionados puntuados con los mismos criterios
Pruébalo en tu propio broker MQTTConsigue un broker MQTT privado y gestionado con el plan Free y empieza con ejemplos de código listos para usar.
Pruébalo gratis Ejemplos de código Sin tarjeta

Si estás buscando una alternativa a HiveMQ Cloud, lo más útil que puedes tener es una forma justa y repetible de comparar brokers MQTT gestionados. Este artículo te da ese marco: los criterios que importan, cómo probar cada uno por tu cuenta y en qué punto se sitúa ConnectMQ en cada uno, para que puedas decidir según tus requisitos y no según páginas de marketing.

HiveMQ en contexto

HiveMQ es uno de los nombres más conocidos de MQTT. La empresa ofrece un broker empresarial y un servicio gestionado en la nube, y ha publicado material formativo sobre el protocolo muy leído. Muchos ingenieros aprendieron MQTT con esos recursos. Buscar una alternativa no implica que HiveMQ tenga ningún problema; los equipos comparan proveedores por muchas razones, como el encaje del modelo de precios, las opciones de despliegue, la ubicación de los datos, las funciones industriales o simplemente la diligencia debida antes de firmar un contrato largo.

Los planes, límites y funciones de cualquier servicio gestionado cambian con el tiempo. Toma cualquier comparativa, incluida esta, como punto de partida y revisa la documentación y las condiciones actuales de cada proveedor antes de decidir.

El marco de comparación

Puntúa a cada proveedor con los mismos criterios. La columna de la derecha muestra nuestras propias capacidades documentadas para que tengas un punto de referencia concreto.

Criterio Qué revisar en cualquier proveedor ConnectMQ
Versiones del protocolo MQTT 3.1.1 y 5.0, y qué funciones de MQTT 5 están implementadas MQTT 3.1.1 y 5.0
Transportes TCP, TLS, WebSocket, Secure WebSocket y sus puertos 1883, 8883 (TLS), 8083 (WS), 8084 (WSS, ruta /mqtt)
Nivel gratuito Número de conexiones, QoS, tamaño de mensaje, si se exige tarjeta Serverless (Free): hasta 25 conexiones, QoS hasta 1, mensajes de 256 KB, sin tarjeta de crédito
Nivel compartido de pago Límites y funciones que se desbloquean Serverless (Paid): hasta 1.000 conexiones, QoS 2, mensajes de 1 MB, suscripciones compartidas
Opciones de aislamiento Clústeres dedicados, red privada, tu propia cuenta cloud Dedicated, BYOC, Self Managed Enterprise
Autenticación Usuario/contraseña, certificados de cliente, opciones basadas en tokens Usuario, contraseña y client ID generados, con el client ID vinculado a las credenciales
Datos industriales Reconocimiento de Sparkplug B, soporte de Unified Namespace Detecta topics ISA-95/UNS, decodifica Sparkplug B y lo republica en topics ISA-95
Herramientas integradas Cliente web, explorador de topics, dashboards, alertas Cliente en el navegador, explorador de topics en vivo, dashboard, vista de dispositivos ISA-95, alertas por umbral
Integraciones Conectores nativos con bases de datos, streams y servicios cloud A través de clientes MQTT externos como Node-RED, Telegraf o tus propios suscriptores
Garantías operativas SLA publicado, condiciones de soporte, página de estado Consulta las condiciones actuales con el proveedor

Fíjate en la fila de integraciones. Algunos proveedores incluyen conectores de datos nativos o extensiones; nuestro broker se mantiene deliberadamente ligero y te deja integrar mediante clientes MQTT estándar. Que eso sea una ventaja o una carencia depende de si ya utilizas herramientas como Node-RED o un pipeline de series temporales.

Los criterios en detalle

Completitud del protocolo

Debería admitir tanto MQTT 3.1.1 como MQTT 5.0. Si piensas usar funciones de MQTT 5 como suscripciones compartidas, caducidad de mensajes, topic aliases o response topics, confirma cada una de forma explícita en el plan que contratarías, no te quedes con un genérico "compatible con MQTT 5". El artículo sobre las funciones de MQTT 5 explica qué funciones importan para cada caso de uso.

Nivel gratuito y escalones de planes

Un nivel gratuito solo tiene valor si te permite probar con dispositivos reales y TLS real. Fíjate en el número de conexiones, el QoS máximo y el tamaño de mensaje, y en si puedes cambiar de plan sin cambiar hostnames ni credenciales. La guía sobre el nivel gratuito de un broker MQTT enumera lo que debes buscar.

Encaje del modelo de precios

Los proveedores cobran por conexiones, mensajes, tráfico, tamaño de clúster o una combinación. Ninguno es mejor de por sí; lo que importa es cómo crece tu carga de trabajo. Una flota de muchos sensores silenciosos se comporta de forma muy distinta a unas pocas máquinas muy habladoras. Modela tus conexiones y tu tasa de mensajes previstas para el próximo año y calcula el precio de cada proveedor con ese perfil usando sus tarifas publicadas actuales.

Tratamiento industrial y de Sparkplug

Si trabajas en fabricación, comprueba cómo trata un broker los payloads Sparkplug B. Un broker reenvía los bytes Protobuf en cualquier caso, pero unas herramientas que los decodifiquen y muestren ahorran mucha depuración. ConnectMQ decodifica Sparkplug B (Protobuf o JSON) y puede republicarlo en topics ISA-95, por ejemplo de spBv1.0/factory1/DDATA/line1/cnc1 a connectmq/factory1/production/line1/cnc1/telemetry. Consulta MQTT Sparkplug B y Unified Namespace para el contexto.

Operación y visibilidad

Las operaciones del día a día importan más que el proceso de registro. Pregunta cómo verás qué clientes están conectados, qué topics están activos y qué aspecto tienen los payloads cuando un dispositivo se comporta mal. Un cliente web integrado y un explorador de topics en vivo pueden sustituir muchas herramientas improvisadas durante la depuración. Comprueba si el estado de las conexiones se expone de forma que tu propia monitorización pueda consumirlo; en nuestro broker, por ejemplo, el estado de un cliente se publica en $SYS/broker/connection/{clientId}/state. Por último, mira cómo se protege el servicio, y te protege a ti, de clientes que se comportan mal: las cuotas, la protección contra inundaciones y el bloqueo de inicios de sesión fallidos repetidos reducen el alcance de una versión de firmware defectuosa.

Modelo de despliegue

Los clústeres serverless compartidos son rápidos y baratos para empezar. Los proyectos más grandes o regulados pueden necesitar un clúster dedicado aislado, un despliegue dentro de su propia cuenta cloud o una opción autogestionada. Comprueba cuáles ofrece cada proveedor y, sobre todo, si puedes pasar de uno a otro sin cambiar la configuración de los dispositivos.

Portabilidad

La mejor protección contra una decisión equivocada es poder cambiarla. Prioriza proveedores que te permitan usar clientes MQTT estándar con funciones estándar, para que un cambio posterior solo afecte a los ajustes de conexión.

Prueba cualquier broker con el mismo script

Ejecuta una prueba idéntica contra cada candidato. Este script de MQTT.js v5 se conecta con MQTT 5, se suscribe, publica con QoS 1, mide el tiempo de ida y vuelta y muestra el reason code del servidor si algo falla:

// npm install mqtt
const mqtt = require("mqtt");

const url = process.env.MQTT_URL || "mqtts://broker.connectmq.com:8883";
const topic = process.env.MQTT_TOPIC || "connectmq/demo/a91c/rtt";

const client = mqtt.connect(url, {
  clientId: process.env.MQTT_CLIENT_ID || "eval-a91c-js",
  username: process.env.MQTT_USERNAME,
  password: process.env.MQTT_PASSWORD,
  protocolVersion: 5,
  connectTimeout: 10_000,
});

let sentAt = 0;
let count = 0;

client.on("connect", () => {
  console.log("Connected to", url);
  client.subscribe(topic, { qos: 1 }, (err) => {
    if (err) return console.error("Subscribe failed:", err.message);
    sendNext();
  });
});

function sendNext() {
  sentAt = Date.now();
  client.publish(topic, JSON.stringify({ n: count, t: sentAt }), { qos: 1 });
}

client.on("message", (_topic, payload) => {
  const rtt = Date.now() - sentAt;
  console.log(`Message ${count} round trip: ${rtt} ms`);
  count += 1;
  if (count < 10) setTimeout(sendNext, 500);
  else client.end();
});

client.on("error", (err) => {
  console.error("Error:", err.message, err.code ?? "");
  client.end();
});

Ejecútalo primero contra el servidor MQTT público gratuito de broker.connectmq.com (solo para pruebas, no para datos de producción) y después contra el endpoint privado de cada proveedor cambiando solo las variables de entorno:

node rtt.js
MQTT_URL=mqtts://broker.connectmq.com:8883 MQTT_USERNAME=YOUR_USERNAME \
MQTT_PASSWORD=YOUR_PASSWORD MQTT_CLIENT_ID=YOUR_CLIENT_ID \
MQTT_TOPIC=eval/rtt node rtt.js

Ejecuta la prueba desde donde realmente están tus dispositivos. La latencia desde tu oficina dice poco de la latencia desde una instalación remota.

Lista de puntuación

  1. Enumera tus requisitos imprescindibles (por ejemplo QoS 2, decodificación de Sparkplug, un clúster dedicado).
  2. Descarta cualquier proveedor que no cumpla un imprescindible según su documentación actual.
  3. Ejecuta el script de prueba contra los proveedores restantes desde las ubicaciones de tus dispositivos.
  4. Conecta un dispositivo o gateway real durante al menos un día y vigila las desconexiones.
  5. Revisa las herramientas operativas: ¿puedes ver los topics en vivo y el estado de las conexiones sin software adicional?
  6. Calcula el precio de tu carga de trabajo de un año con la lista de precios actual de cada proveedor.
  7. Confirma la vía de salida: ¿puedes migrar los dispositivos cambiando host, puerto y credenciales?

Usa un broker gratuito como punto de referencia

Como el plan gratuito de ConnectMQ no necesita tarjeta de crédito, es una base sencilla para cualquier comparativa. Crea un broker Serverless gratuito, ejecuta el script anterior y explora tus topics en el portal. Para entender el panorama general, lee nuestra visión general de los brokers MQTT en la nube, la comparativa relacionada sobre una alternativa a EMQX Cloud y la explicación de qué es un broker MQTT gestionado. Los detalles del producto están en connectmq.com.

Preguntas frecuentes

¿Es ConnectMQ compatible con clientes escritos para HiveMQ Cloud?

Los clientes que usan MQTT 3.1.1 o 5.0 estándar funcionan con cualquier broker que cumpla el estándar. Normalmente solo cambian el host, el puerto, las credenciales y el client ID.

¿Cómo comparo precios entre proveedores de brokers MQTT gestionados?

Modela tus conexiones y tu volumen de mensajes previstos para el próximo año y aplica las tarifas publicadas actuales de cada proveedor. Los modelos de precios difieren, así que compara el coste total para tu carga de trabajo en lugar de los precios de portada.

¿Incluye ConnectMQ integraciones de datos como conectores de bases de datos?

No. El broker se centra en MQTT; la integración se hace con herramientas como Node-RED, Telegraf o tus propios suscriptores, que se conectan como clientes MQTT.

¿Dónde puedo consultar las funciones actuales de HiveMQ Cloud?

En la documentación oficial y las páginas de precios de HiveMQ, ya que los planes y los límites cambian con el tiempo.

Artículos relacionados

Broker MQTT BYOC: el modelo Bring Your Own Cloud explicado

Un broker MQTT BYOC se ejecuta en tu cuenta cloud, pero lo opera un proveedor. Descubre cómo funciona el modelo, cómo se reparten las responsabilidades y cómo preparar tu cuenta.

9 min de lectura

Alternativa a Google Cloud IoT Core: opciones y migración tras su cierre

Google retiró Cloud IoT Core en agosto de 2023. Esta guía compara las alternativas realistas, traduce los conceptos de IoT Core a MQTT estándar y muestra cómo mover los dispositivos a un broker MQTT gestionado sin dejar de enviar datos a Google Cloud.

9 min de lectura

Mensajes MQTT por segundo: cómo estimar y medir el rendimiento

Planificar el rendimiento de MQTT se reduce a unas pocas fórmulas y una medición honesta. Aprende a estimar los mensajes entrantes y salientes por segundo, a tener en cuenta los picos y a trasladar el resultado a un plan de broker.

8 min de lectura

Todos los artículos →

Tu broker MQTT privado, a unos pocos clics

Crea una cuenta, obtén las credenciales de tu broker y conecta tu primer dispositivo, sin servidores que instalar, parchear ni escalar.