Migración desde HiveMQ

Guía de migración de HiveMQ Cloud Serverless: mueve tus clientes MQTT paso a paso

Un procedimiento práctico, paso a paso, para sacar tus dispositivos y aplicaciones de HiveMQ Cloud Serverless antes del 31 de diciembre de 2026: inventaría tus clientes, mapea funciones y credenciales, prueba un broker privado, ejecuta ambos en paralelo, haz el cambio y limpia.

Diagrama paso a paso de clientes MQTT migrando de HiveMQ Cloud Serverless a un broker gestionado privado de ConnectMQ
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

Una migración de HiveMQ Cloud Serverless es, sobre todo, un proyecto de reconfiguración: el protocolo MQTT sigue siendo el mismo, pero cada cliente necesita un nuevo hostname, nuevas credenciales y quizá un nuevo client ID, y todo el estado que vivía en el clúster antiguo hay que reconstruirlo. Esta guía recorre el procedimiento completo en seis pasos, con un broker privado de ConnectMQ como destino. Los mismos pasos sirven para cualquier broker MQTT basado en estándares.

Si todavía no conoces el contexto, empieza por el fin de HiveMQ Cloud Serverless para ver las fechas y lo que HiveMQ elimina después del 31 de diciembre de 2026.

Paso 1: inventaría todo lo que se conecta

No puedes migrar lo que no has listado. Abre la consola de HiveMQ Cloud, anota el hostname de tu clúster y todas las credenciales de acceso, y crea una tabla con una fila por tipo de cliente:

Campo Ejemplo Por qué importa
Tipo de cliente Sensor de temperatura ESP32 Determina cómo lo reconfiguras
Cantidad 140 Define el dimensionamiento del plan
Patrón de client ID sensor-<mac> Debe encajar con las reglas de client ID del nuevo broker
Credencial utilizada devices-rw Pasa a ser una nueva credencial en el nuevo broker
Publica en site1/+/temp Estructura de topics que verificar tras el cambio
Se suscribe a site1/+/cmd Estructura de topics que verificar tras el cambio
QoS, retenidos, clean start QoS 1, estado retenido Funciones que confirmar en el plan de destino
Transporte MQTT sobre TLS, puerto 8883 Puerto y ajustes de TLS que cambiar
Vía de actualización OTA, archivo de configuración, manual Esfuerzo y plazo

No olvides los clientes silenciosos: un flujo de Node-RED en una Raspberry Pi olvidada, una entrada de Grafana o Telegraf, una app móvil con el hostname escrito en el código o un partner que se suscribe a un solo topic. El checklist de migración desde HiveMQ incluye una versión imprimible de este inventario.

Paso 2: mapea las funciones al nuevo broker

Compara tu inventario con el plan de destino antes de cambiar nada:

Qué usas en HiveMQ Serverless Qué revisar en el destino ConnectMQ
MQTT 3.1.1 / 5.0 Las mismas versiones Ambas compatibles
TLS en 8883, WebSocket seguro Puertos y ruta 1883, 8883 (TLS), 8083 (WS), 8084 (WSS, ruta /mqtt)
Credenciales creadas en la consola Cómo se emiten las credenciales Usuario, contraseña y client ID generados en el portal
Cualquier client ID Reglas de client ID Client ID vinculado a las credenciales; se permiten variantes con _sufijo
Permisos de topic por credencial Modelo de control de acceso No hay ACL por topic; usa brokers o credenciales separados por cada frontera de confianza
QoS 2 Soporte en el plan Serverless (Paid) y superiores
Mensajes retenidos Soporte y durabilidad Compatibles; los clientes deberían volver a publicar su estado al conectarse
Número de clientes simultáneos Límites del plan 25 en Serverless Free, hasta 1.000 en Serverless Paid, Dedicated a partir de ahí

Dos filas requieren una decisión.

Client IDs. HiveMQ Cloud permite que cada cliente elija su propio client ID. ConnectMQ vincula el client ID a las credenciales emitidas: un cliente puede usar exactamente el client ID emitido o una variante con sufijo, como YOUR_CLIENT_ID_sensor140. Planifica dar a cada dispositivo un sufijo derivado de su número de serie o su dirección MAC. Consulta las buenas prácticas para el client ID de MQTT para ver patrones.

Permisos. Si usabas los permisos de topic de HiveMQ para separar a partes que no confían entre sí (por ejemplo, clientes que no deben ver los datos de los demás), no intentes reproducirlo en un único broker. Usa un broker por cliente o por frontera de confianza, o coloca un backend en medio.

Paso 3: crea el broker de destino

  1. Regístrate en app.connectmq.com. El plan Serverless gratuito no requiere tarjeta de crédito, lo que es ideal para hacer pruebas.
  2. Elige un plan dimensionado para tu pico de conexiones más un margen. Usa Serverless (Paid) para flotas en producción de hasta 1.000 conexiones, o Dedicated para cargas más grandes o sensibles a la latencia. Nuestras guías sobre la alternativa serverless y la alternativa gestionada en la nube te ayudan a elegir.
  3. Crea el broker y copia el usuario, la contraseña y el client ID generados.
  4. Esta vez, haz que la dirección del broker sea configurable. Guarda hostname, puerto, credenciales y client ID en un archivo de configuración, un servicio de aprovisionamiento o ajustes actualizables por OTA, en lugar de en el firmware compilado. Un simple alias DNS bajo tu propio dominio no basta por sí solo con TLS, porque el certificado del broker se emite para el hostname del proveedor y los clientes que verifican el hostname lo rechazarían.

Paso 4: prueba con un cliente real

Antes de mover clientes de producción, comprueba lo básico con las mismas librerías que usan tus dispositivos. Con los clientes de mosquitto sobre TLS:

# Terminal 1: suscripción
mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
  -u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_test1 \
  -t 'site1/#' -v

# Terminal 2: publicación
mosquitto_pub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
  -u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_test2 \
  -t 'site1/room1/temp' -m '{"temp":21.7}' -q 1

Después prueba los detalles que importan para tu flota: niveles de QoS, mensajes retenidos, mensajes Last Will, sesiones persistentes si las usas, tamaños de mensaje cercanos a tu payload más grande y la latencia desde la red que usan realmente tus dispositivos. El explorador de topics en vivo del portal de ConnectMQ muestra cada mensaje según llega, que es la forma más rápida de confirmar las estructuras de topics. Hay ejemplos de código para ESP32, Python, Node.js y Node-RED en Reconfigurar clientes MQTT después de HiveMQ.

Paso 5: ejecuta ambos en paralelo y migra por oleadas

La migración más segura mantiene ambos brokers en funcionamiento y retransmite el tráfico entre ellos, de modo que un dispositivo en el broker antiguo y una aplicación en el nuevo siguen viendo los mensajes del otro. Un pequeño proceso relay se suscribe en un broker y vuelve a publicar en el otro. Mostramos un script de relay completo y el orden de las oleadas en Migración desde HiveMQ sin interrupciones.

El orden recomendado es:

  1. Primero los consumidores. Mueve bases de datos, motores de reglas, flujos de Node-RED y dashboards al nuevo broker. Gracias al relay siguen recibiendo datos de los dispositivos del clúster antiguo.
  2. Un grupo piloto de dispositivos. Unos pocos de distintas ubicaciones y versiones de firmware. Obsérvalos durante unos días.
  3. El resto de la flota por lotes, con un punto de control después de cada lote.
  4. Los productores de comandos al final, cuando los dispositivos que controlan ya se hayan movido.

Durante cada oleada, vigila el número de conexiones frente a tu plan. Si superas la cuota, los clientes MQTT 5 reciben el reason code 0x97 (quota exceeded). Amplía el plan antes de una oleada, no durante ella.

Paso 6: haz el cambio y limpia

Cuando el clúster de HiveMQ ya no muestre conexiones de clientes aparte del relay:

  1. Detén el relay.
  2. Confirma que todos los topics esperados están activos en el nuevo broker y que el estado retenido se ha vuelto a publicar.
  3. Exporta lo que quieras conservar del clúster antiguo, como una lista de credenciales para tus registros.
  4. Elimina el clúster Serverless, teniendo en cuenta que HiveMQ no puede volver a crearlo.
  5. Quita el hostname antiguo de los valores por defecto del firmware, la documentación, los runbooks y los almacenes de secretos.

Intenta terminar con bastante antelación al 31 de diciembre de 2026. Un margen de varias semanas deja espacio para los dispositivos que se conectan rara vez, como equipos de temporada o sensores que se despiertan una vez al día.

Errores habituales

  • Colisiones de client ID. Dos dispositivos con el mismo client ID se desconectarán mutuamente una y otra vez en cualquier broker. Deriva los sufijos de identificadores de hardware únicos.
  • Certificados de CA fijados en el código. Los dispositivos que fijan un bundle de CA concreto pueden rechazar el certificado de un nuevo broker. ConnectMQ usa un certificado Let's Encrypt; asegúrate de que la raíz ISRG Root X1 está en el almacén de confianza del dispositivo. Consulta la configuración de TLS en MQTT.
  • Suponer que el estado retenido se traslada. No se traslada. Haz que los dispositivos publiquen su estado actual con el flag retain justo después de conectarse.
  • Olvidar la lógica de reconexión. Un dispositivo sin un backoff adecuado puede saturar un nuevo broker durante una oleada. Revisa antes el keep alive de MQTT y los ajustes de reconexión de tu cliente.

Preguntas frecuentes

¿Cuánto tarda una migración de HiveMQ Serverless?

Para unas pocas aplicaciones, un día. Para flotas de dispositivos en campo que necesitan actualizaciones de firmware, cuenta con semanas: desarrollar y probar el nuevo firmware, el despliegue escalonado y la espera a los dispositivos que se conectan rara vez. Empieza ya para que la fecha límite no sea tu día de pruebas.

¿Puedo migrar sin actualizar el firmware de los dispositivos?

Solo si el hostname, las credenciales y el client ID se pueden configurar sin cambiar el firmware, por ejemplo mediante un archivo de configuración o un servicio de aprovisionamiento. Si están compilados en el firmware, necesitas una actualización over-the-air.

¿Tengo que cambiar mi estructura de topics?

No. Los topics son solo cadenas de texto, y ConnectMQ admite los comodines estándar y las profundidades de topic habituales en los diseños IoT. Mantén tu estructura actual para que los dashboards y las reglas sigan funcionando.

¿Con qué plan de ConnectMQ debería empezar?

Empieza con el plan Serverless gratuito para hacer pruebas. Para producción, elige Serverless (Paid) para hasta 1.000 conexiones, o el broker MQTT gestionado en la nube de ConnectMQ (Dedicated) cuando necesites un clúster aislado.

Artículos relacionados

Alternativa a HiveMQ Serverless: pásate al broker MQTT serverless de ConnectMQ Cloud

Los usuarios de HiveMQ Cloud Serverless Free y Pay As You Go que quieren la misma experiencia sin servidores pueden pasarse al broker MQTT serverless de ConnectMQ Cloud. Descubre los planes, límites, endpoints y herramientas integradas, y cómo conectar tu primer dispositivo en minutos.

6 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.