Ir al contenido

Conector MQTT v5

El conector MQTT v5 habilita la mensajería de publicación/suscripción usando el protocolo MQTT 5.0, añadiendo suscripciones compartidas, propiedades de usuario y expiración de mensajes sobre MQTT v3.

Tipos de Conector:

  • MqttV5Reader - Suscribirse a tópicos MQTT 5.0
  • MqttV5Writer - Publicar en tópicos MQTT 5.0

Para brokers y clientes MQTT 3.1.1, usa el conector MQTT v3.

Suscribirse a un tópico:

{
"type": "MqttV5Reader",
"config": {
"endpoint": "mqtt://localhost:1883",
"topic": "sensors/temperature",
"qos": 1,
"clientId": "meddle-v5-reader"
}
}
{
"type": "MqttV5Reader",
"config": {
"endpoint": "mqtts://mqtt.example.com:8883",
"topic": "factory/sensors/#",
"qos": 1,
"clientId": "meddle-v5-reader",
"username": "mqtt_user",
"password": "mqtt_password"
}
}

Distribuye mensajes entre varios lectores usando sharedGroup. El conector se suscribe a $share/<group>/<topic> y el broker balancea la carga de las entregas entre los miembros:

{
"type": "MqttV5Reader",
"config": {
"endpoint": "mqtt://broker.example.com:1883",
"topic": "factory/events",
"qos": 1,
"clientId": "meddle-v5-reader-1",
"sharedGroup": "meddle-workers"
}
}

Publicar en un tópico:

{
"type": "MqttV5Writer",
"config": {
"endpoint": "mqtt://localhost:1883",
"topic": "data/output",
"qos": 1,
"clientId": "meddle-v5-writer"
}
}

Mensaje Retenido con Expiración y Propiedades de Usuario

Sección titulada «Mensaje Retenido con Expiración y Propiedades de Usuario»
{
"type": "MqttV5Writer",
"config": {
"endpoint": "mqtts://mqtt.example.com:8883",
"topic": "devices/state",
"qos": 1,
"clientId": "meddle-v5-writer",
"username": "mqtt_user",
"password": "mqtt_password",
"retain": true,
"messageExpiry": 3600,
"userProperties": {
"source": "meddle",
"schema": "v1"
}
}
}
  • endpoint: URL del broker con esquema (mqtt://host:puerto o mqtts://host:puerto)
  • topic: Tópico para suscribirse o publicar (el Lector admite los comodines + y #)
  • qos: Calidad de Servicio: 0, 1 o 2
  • clientId: (Opcional) Identificador del cliente
  • username: (Opcional) Usuario MQTT
  • password: (Opcional) Contraseña MQTT
  • sharedGroup: (Lector) Grupo de suscripción compartida para balanceo de carga
  • userProperties: Metadatos clave/valor adjuntos a los mensajes
  • retain: (Escritor) El broker almacena el último mensaje y lo entrega a los nuevos suscriptores
  • messageExpiry: (Escritor) Intervalo de expiración del mensaje en segundos
  • 0: Como máximo una vez (disparar y olvidar)
  • 1: Al menos una vez (entrega confirmada)
  • 2: Exactamente una vez (entrega asegurada)
  • Las suscripciones compartidas (sharedGroup) permiten que varios suscriptores consuman un único tópico con balanceo de carga del lado del broker.
  • Las propiedades de usuario transportan metadatos clave/valor arbitrarios por mensaje.
  • La expiración de mensajes descarta mensajes no entregados después del intervalo configurado.
  • Los códigos de razón en connect, subscribe y publish proporcionan una semántica de errores más rica gestionada por el cliente paho subyacente.
  • + - Comodín de un solo nivel (sensors/+/temperature)
  • # - Comodín de múltiples niveles (sensors/#)
  • MQTT v3 - Conector clásico MQTT 3.1.1
  • AMQP - Alternativa pub/sub RabbitMQ
  • NATS - Alternativa de pub/sub cloud-native