SpecsModelExploreRequirements
SpecsModelExploreRequirements
MQTT Publisher
Overview
Guide
MQTT telemetry and commands
Twin streams
Links and Communications
IDproduct.edge.edge_agent.mqtt_publisher
DescriptionPublishes buffered telemetry to the cloud broker.
Keymqtt_publisher
Typecomponent
Statusactive
TeamEdge Platform
Owner
edge-platform@iotgateway.example
TechnologiesRust, MQTT, TLS, Protobuf
Tags
Table of contents
Guide
MQTT Publisher
Publish loop
Connection handling
Stream
Reconnect
Notes
MQTT telemetry and commands
Links and Communications
Requirements

Attributes

languageRust
protocolMQTT
qos1

Guide

MQTT Publisher

The MQTT Publisher is the gateway’s uplink. It reads committed batches out of the Local Buffer, publishes them to the cloud MQTT broker over TLS, and only advances the sync cursor once the broker has acknowledged delivery.

QoS 1, cursor-driven

Messages are published at QoS 1 (at-least-once). The publisher treats the broker PUBACK as the signal to advance SYNC_CURSOR.acked_seq — the buffer is never pruned ahead of a confirmed delivery.

Publish loop

Connection handling

Authenticate

The TLS handshake is mutual: the broker verifies the gateway’s client certificate and the gateway pins the broker’s CA. An untrusted peer never gets a session.

Stream

While connected, batches flow continuously; the publisher keeps the in-flight window small to bound memory and reordering.

Reconnect

On a dropped link the publisher backs off and retries. Because the buffer holds everything, no telemetry is lost — the backlog simply drains once the link is back.

Notes

  • Telemetry is serialised as Protobuf to keep payloads compact over metered links.
  • Topics are namespaced per device so the cloud can fan out by tenant and type.

MQTT telemetry and commands

Links and Communications

1 outgoing link · 2 async channels

Outgoing Links(1)

Target objectLabelLink typeRelationRaw idRequiredDescription
Local Buffer

example-iot.product.edge.edge_agent.local_buffer

component:database
drains batches from—linksproduct.edge.edge_agent.local_buffer——

Async links(2)

Produces(1)

ChannelBrokerCaptureConsumer

Device telemetry

telemetry · mqtt_topic

MQTT Brokerproduct.ingestion.mqtt_broker
—
  • Stream Processor

Consumes(1)

ChannelBrokerProducer

Device commands

commands · mqtt_topic

MQTT Brokerproduct.ingestion.mqtt_broker
  • Command Router

Requirements