Fiabilidad de MQTT

Alejandro Sánchez

MQTT (Message Queuing Telemetry Transport) es un protocolo de comunicación ligero y seguro que se utiliza para enviar mensajes entre dispositivos en una red, lo que lo convierte en una opción popular para la comunicación segura desde la OT hasta Ignition, ofrece ventajas en términos de transferencia de datos en tiempo real, escalabilidad, eficiencia en el uso de ancho de banda y compatibilidad con diferentes plataformas y permite la integración sin fisuras de diferentes sistemas de monitoreo y control. 

MQTT fue creado para resolver la comunicación en el sector Oil & Gas.

La fiabilidad de MQTT se debe a su mecanismo de «entrega asegurada» que garantiza que los mensajes se entreguen de manera segura y confiable. El mecanismo de entrega asegurada de MQTT se basa en los siguientes elementos:

QoS (Quality of Service): MQTT define tres niveles de calidad de servicio (QoS) que permiten garantizar la entrega segura de los mensajes. 

  • QoS 0: Al enviar un mensaje con QoS 0, se garantiza que el mensaje se entregue al menos una vez, pero no se realiza ningún intento adicional si la entrega falla. 
  • QoS 1: Al enviar un mensaje con QoS 1, se garantiza que el mensaje se entregue al menos una vez y se realiza un reenvío automático hasta que se recibe una confirmación de entrega.
  • QoS 2: Al enviar un mensaje con QoS 2, se garantiza que el mensaje se entregue exactamente una vez, incluso en situaciones de red complejas.

Retención de mensajes: MQTT permite la retención de mensajes, lo que significa que un mensaje enviado a un tema se almacena en el servidor hasta que un nuevo suscriptor se conecta y solicita los mensajes retenidos. Esto asegura que los nuevos suscriptores reciban todos los mensajes que se han enviado al tema, incluso si no estaban conectados en el momento en que se enviaron los mensajes.

Sesiones persistentes: MQTT permite la creación de sesiones persistentes que garantizan que un cliente pueda continuar recibiendo mensajes incluso después de una desconexión temporal.