MQTT vs HTTP im Industriellen IoT – ein technischer Vergleich

Inhalt

Wer eine Architektur für das industrielle IoT entwirft, stößt früh auf eine Grundsatzfrage. Sollen Maschinen und Systeme Daten aktiv abfragen, oder sollen sie Ereignisse einfach melden? Genau hier trennen sich zwei Protokolle und zwei Denkmodelle. MQTT vs HTTP ist deshalb keine reine Geschmacksfrage, sondern eine Architekturentscheidung. HTTP folgt dem Modell Request/Response: Ein Client fragt, ein Server antwortet. MQTT folgt dem Modell Publish/Subscribe: Ein Sender meldet ein Ereignis, ein Broker verteilt es.

Die gute Nachricht vorweg: Es ist kein Entweder-oder. In modernen Unified-Namespace-Architekturen (UNS) übernehmen beide Protokolle klar getrennte Rollen. MQTT bildet das ereignisgetriebene Rückgrat für kontinuierliche Daten. HTTP bildet die Brücke für gezielte Abfragen zwischen Systemen. Dieser Artikel erklärt die Kernunterschiede, ordnet den Vergleich MQTT vs HTTP für OT- und IT-Architekten ein und zeigt, wo jedes Protokoll seine Stärken ausspielt.

 

MQTT vs HTTP: die Kernunterschiede im Überblick

Der Vergleich MQTT vs HTTP lässt sich auf wenige, klar unterscheidbare Dimensionen herunterbrechen. Sie betreffen das Kommunikationsmodell, die Verbindung, den Overhead, die Zuverlässigkeit und die Skalierung. Jede dieser Dimensionen wirkt sich anders auf eine Architektur aus. Wer sie einzeln betrachtet, trifft am Ende eine fundierte Entscheidung. Die folgende Grafik zeigt den grundlegenden Unterschied zwischen aktivem Abfragen und ereignisgetriebenem Verteilen.

MQTT vs HTTP Kommunikationsmodell: HTTP-Polling mit Anfrage-Antwort gegen MQTT-Broker-Push an viele Subscriber

Kommunikationsmodell: Request/Response vs. Publish/Subscribe

HTTP arbeitet nach dem Muster Request/Response. Der Client stellt eine Anfrage, der Server liefert eine Antwort. Ohne Anfrage passiert nichts. Ein Server kann von sich aus keine Daten schicken. Wer laufend aktuelle Werte braucht, muss deshalb regelmäßig nachfragen. Dieses aktive Abfragen heißt Polling.

MQTT arbeitet nach dem Muster Publish/Subscribe. Ein Sender publiziert eine Nachricht auf ein Topic. Ein Broker verteilt sie an alle interessierten Empfänger. Sender und Empfänger kennen sich nicht und sind zeitlich entkoppelt. Der Broker kann Daten aktiv an die Consumer pushen, sobald ein Ereignis eintritt.

Dieser Unterschied hat direkte Folgen für die Architektur. Beim Polling fragt der Client immer wieder, auch wenn sich nichts geändert hat. Viele dieser Anfragen bleiben ohne neuen Inhalt. Beim Push fließen dagegen nur echte Ereignisse. Die Quelle spricht einmal, der Broker verteilt an viele. Für die Frage MQTT vs HTTP ist das der entscheidende Denkwechsel.

 

Verbindungsmodell: persistente Verbindung vs. Verbindung pro Anfrage

MQTT hält eine einzige persistente TCP-Verbindung offen. Über kleine Keep-Alive-Pings bleibt sie am Leben. Neue Werte laufen ohne erneuten Verbindungsaufbau über denselben Kanal. Das spart Zeit und Ressourcen bei häufigen Nachrichten.

HTTP/1.1 baut traditionell pro Anfrage eine Verbindung auf und wieder ab. Keep-Alive und HTTP/2 mildern das ab, erreichen aber nicht dieselbe Effizienz wie ein dauerhaft offener Kanal. Bei tausenden kleinen Telemetriewerten pro Minute summiert sich dieser Aufwand spürbar.

 

Overhead und Effizienz: 2 Byte vs. hunderte Byte

Der wohl deutlichste Unterschied im Duell MQTT vs HTTP liegt im Overhead. Der feste MQTT-Header ist minimal klein. Er beginnt bei nur 2 Byte. HTTP transportiert dagegen umfangreiche Header als Klartext. Ein vollständiger Request samt Response kommt schnell auf 800 bis über 1.000 Byte.

Für kleine Telemetriepakete bedeutet das eine Reduktion des Overheads um mehr als 90 Prozent. In Mobilfunknetzen, bei batteriebetriebenen Sensoren oder bei nutzungsbasierten Kosten wirkt sich das direkt aus.

Ein einfaches Rechenbeispiel verdeutlicht die Größenordnung. Ein Sensor sendet einen Messwert pro Sekunde über 24 Stunden. Das ergibt rund 86.400 Nachrichten pro Tag. Bei MQTT fällt dabei ein minimaler Header-Overhead an. Bei HTTP summieren sich die Header auf ein Vielfaches davon. Über viele Sensoren und viele Tage hinweg wird daraus ein erheblicher Kosten- und Bandbreitenunterschied. Die folgende Grafik macht das Verhältnis anschaulich.

MQTT vs HTTP Overhead maßstäblich: 2-Byte-MQTT-Header gegen rund 800-Byte-HTTP-Header samt Bytes pro Tag

 

Zuverlässigkeit: MQTT QoS vs. HTTP-Statuscodes

MQTT kennt drei Zustellgarantien, die sogenannten QoS-Level. QoS 0 liefert höchstens einmal aus. Mit QoS 1 liefert der Broker mindestens einmal aus. QoS 2 liefert über einen vierstufigen Handshake genau einmal aus. Der Entwickler wählt die Garantie passend zum Anwendungsfall. Mehr dazu erklärt unser Artikel zu MQTT Quality of Service (QoS).

HTTP kennt keine solchen Zustellstufen. Es liefert Statuscodes wie 200 oder 503 zurück. Ob eine Nachricht ankommt, hängt von der Anwendung ab. Wiederholungen und Fehlerbehandlung muss die Applikation selbst umsetzen. In der Praxis genügt das für viele Abfragen. Für kontinuierliche Datenströme mit klaren Garantien ist die abgestufte QoS-Logik von MQTT jedoch der robustere Ansatz.

 

Echtzeit und Skalierung: Push vs. Polling

MQTT verteilt jedes Ereignis genau einmal an beliebig viele Subscriber. Ein neuer Consumer belastet die Quelle nicht zusätzlich. Der Broker übernimmt die Verteilung. So skaliert das Modell auf viele Empfänger.

HTTP kennt keinen Server-Push. Wer aktuelle Daten braucht, muss pollen. Jeder Consumer erzeugt eigene Anfragen an die Quelle. Bei vielen Consumern und kurzen Intervallen wächst die Last überproportional. Behelfslösungen wie Long-Polling, WebSockets oder Server-Sent Events existieren, ersetzen das native Push-Modell aber nicht.

 

Zusammenfassung der wichtigsten Unterschiede

Die folgende Tabelle fasst den Vergleich MQTT vs HTTP kompakt zusammen:

Kriterium MQTT HTTP
Kommunikationsmodell Publish/Subscribe über Broker Request/Response, Client-initiiert
Verbindung eine persistente TCP-Verbindung Verbindung pro Anfrage (Keep-Alive mildert ab)
Header-Overhead ab 2 Byte oft 800 bis 1.000+ Byte
Server-Push ja, nativ nein (nur über Polling/WebSockets)
Zustellgarantie QoS 0, 1, 2 keine Stufen, nur Statuscodes
Zustand Sessions, Last Will, Retained Messages zustandslos (stateless)
Stärke Verteilung von Ereignissen (1:n) gezielte Abfragen (1:1)

MQTT bietet zudem Funktionen, die HTTP fehlen. Dazu zählen persistente Sessions, das Last Will and Testament für den unerwarteten Verbindungsabbruch und Retained Messages für den letzten bekannten Wert. HTTP bleibt bewusst zustandslos. Diese Wahl vereinfacht die Skalierung von Webdiensten, passt aber weniger zu kontinuierlichen Maschinendaten.

 

Wann HTTP/REST trotzdem die richtige Wahl ist

Der Vergleich MQTT vs HTTP darf HTTP nicht kleinreden. Für viele Aufgaben ist HTTP das bessere Werkzeug. Sein zustandsloses Request/Response-Modell passt überall dort, wo ein System einen konkreten Wert gezielt anfordert. Genau das ist die Domäne von REST.

RESTful APIs bilden Ressourcen über klare CRUD-Operationen ab. Sie sind einfach zu verstehen und universell unterstützt. Nahezu jede Programmiersprache, jedes Tool und jede Firewall spricht HTTP. Proxys und Load Balancer sind darauf ausgelegt. Diese Firewall- und Proxy-Freundlichkeit macht HTTP zur pragmatischen Wahl für Integrationen über Netzwerkgrenzen hinweg.

Auch die Zustandslosigkeit ist hier ein Vorteil. Jede Anfrage steht für sich und trägt ihren gesamten Kontext. Das vereinfacht das Caching und die horizontale Skalierung von Diensten. Für einmalige oder seltene Abfragen ist dieses Modell schlank und robust. MQTT würde hier unnötige Komplexität hinzufügen.

Typische Einsatzfälle für HTTP im industriellen Umfeld sind:

  • ERP- und MES-Abfragen: Ein System holt gezielt einen Auftrag oder einen Materialstamm. Die Antwort kommt einmalig und korreliert.
  • Analytics-Pulls: Ein Analyse-Dienst fragt aggregierte Kennzahlen über eine API ab.
  • RESTful CRUD: Konfigurationen und Stammdaten werden angelegt, gelesen, geändert und gelöscht.
  • Dateitransfer: Größere Dateien lassen sich über HTTP unkompliziert übertragen.

Wie weit HTTP im industriellen IoT trägt und wo seine Grenzen liegen, vertieft unser Artikel zum REST-Interface im industriellen IoT. Wie sich solche Abfragen sauber in eine UNS-Architektur einfügen, zeigt der Beitrag zu industriellen APIs im Unified Namespace. Die grundsätzliche Frage synchron vs. asynchron behandelt zudem unser Artikel zu synchroner vs. asynchroner Kommunikation im UNS.

 

Fazit: MQTT als Rückgrat, HTTP als Brücke

Der Vergleich MQTT vs HTTP führt nicht zu einem Sieger. Er führt zu einer klaren Rollenteilung. Beide Protokolle lösen unterschiedliche Probleme und ergänzen sich in einer geschichteten Architektur. Wer sie bewusst kombiniert, baut ein robustes und skalierbares Fundament für das industrielle IoT. Die folgende Übersicht fasst zusammen, wann welches Protokoll die richtige Wahl ist. Drei zentrale Erkenntnisse:

  1. Zwei Denkmodelle: HTTP folgt Request/Response, MQTT folgt Publish/Subscribe. Die Wahl ist eine Architekturentscheidung, keine reine Geschmacksfrage.
  2. MQTT als Rückgrat: Für kontinuierliche Ereignisdaten an viele Consumer ist MQTT effizient, skalierbar und entkoppelt.
  3. HTTP als Brücke: Für gezielte, zustandslose Abfragen zwischen Systemen bleibt HTTP/REST die pragmatische Wahl.

 

Häufig gestellte Fragen (FAQ)

Ist MQTT schneller als HTTP? Für kleine, häufige Nachrichten ist MQTT meist effizienter. Der geringe Overhead und die persistente Verbindung senken Latenz und Last. Bei einer einzelnen, großen Abfrage kann HTTP dagegen gleichwertig oder besser sein. Die Frage MQTT vs HTTP hängt also vom Muster der Kommunikation ab.

MQTT oder REST: was soll ich nehmen? Nutze MQTT für kontinuierliche Ereignisse und die Verteilung an viele Consumer. Nutze REST für gezielte Abfragen und CRUD-Operationen zwischen Systemen. In der Praxis kombinieren viele Architekturen beide. Die Entscheidung MQTT vs REST folgt dem Use Case, nicht einer Grundsatzregel.

Ersetzt MQTT HTTP komplett? Nein. MQTT ersetzt HTTP nicht, sondern ergänzt es. HTTP bleibt für Request/Response, RESTful APIs und Dateitransfer relevant. MQTT übernimmt das ereignisgetriebene Rückgrat. Beide Protokolle koexistieren in modernen UNS-Architekturen.

Ist MQTT oder HTTP sicherer? Beide Protokolle setzen auf TLS für die Verschlüsselung. MQTT ergänzt das um eine Authentifizierung am Broker und eine feingranulare Rechtevergabe pro Topic. HTTP nutzt etablierte Mechanismen wie OAuth und API-Keys. Sicher sind beide, sofern sie korrekt konfiguriert werden.

Über i-flow: i-flow ist ein Unternehmen für industrielle Software aus Süddeutschland. Das Unternehmen steht für eine neue Ära selbstvernetzender Fabriken — und das Ende manueller Integration. Die Plattform vernetzt Fabriken vollautomatisch, in beliebiger Skalierung, weltweit. Täglich über 750 Millionen Datenoperationen in produktionskritischer Umgebung demonstrieren die Skalierbarkeit der Software und das tiefe Vertrauen, das Kunden in i-flow setzen. Dieser Erfolg gründet auf enger Zusammenarbeit mit Partnern und Kunden weltweit, darunter renommierte Fortune-500-Unternehmen und Branchenführer wie Bosch.

Verwandte Artikel

Ihre Frage wurde nicht be­antwortet? Kontaktieren Sie uns.

Eine Frau mit braunen Haaren, einem dunkelblauen Hemd und einer hellen Hose steht lächelnd mit den Händen in den Taschen vor einem steinernen Gebäude mit großen Fenstern.

Ihr Kontakt:

Marieke Severiens (i-flow GmbH)
content@i-flow.io

Jetzt UNS-Architektur-Checkliste zur Bewertung von Rollen im UNS herunter­ laden.