MQTT im Industrial IoT (vs. Kafka)

Inhalt

MQTT ist ein effizientes Nachrichtenprotokoll, das im Kontext mit Industrial IoT- und Industrie 4.0-Anwendungen erhebliche Popularität erlangt hat. Einer der Hauptvorteile von MQTT ist seine Leichtigkeit, die eine effiziente Datenübertragung auch in Umgebungen mit begrenzter Bandbreite ermöglicht. Die Spezifikationen des Standards sind hier zu finden.

 

Die Entstehung von MQTT: Von IBM zum Standard im Industrial IoT

MQTT (Message Queuing Telemetry Transport) wurde im Jahr 1999 von Dr. Andy Stanford-Clark von IBM und Arlen Nipper von Cirrus Link Solutions entwickelt. Ursprünglich konzipiert, um Ölpipelines über Satellitenverbindungen zu überwachen, wurde MQTT schnell zu einem offenen Industriestandard für die Übertragung von Nachrichten in vernetzten Systemen. Die Leichtigkeit, Effizienz und Fähigkeit zur Echtzeitkommunikation machten es zu einer grundlegenden Technologie für das Internet der Dinge (IoT) und Industrie 4.0-Anwendungen.

 

Event-basierte Kommunikation

MQTT minimiert die Bandbreitennutzung, indem es von einer konventionellen „Poll-Response“ Verhalten (wie z.B. bei der OPC UA Client-Server Architektur) zu einem event-basierten „Publish-Subscribe“ Verhalten übergeht. Event-basiert bedeutet, ein Datenkonsument wartet auf Datenänderungen (anstelle diese zyklisch abzufragen), was eine ereignisgesteuerte Echtzeit-Kommunikation zwischen Geräten und Anwendungen innerhalb des Unternehmens und darüber hinaus ermöglicht.MQTT im Industrial IoT

 

Die Vorteile von MQTT

MQTT reduziert Integrationsaufwendungen insbesondere bei einer Großzahl von Datenkonsumenten und -produzenten, da Konsumenten mit einer einzigen Verbindung mit beliebig vielen Produzenten interagieren kann. Durch sogenannte Wildcard-Subscriptions können automatisch neu auftretende Datenproduzenten erkannt werden, sobald diese verfügbar sind.  Weitere Vorteile von MQTT in einer industriellen Umgebung sind:

  1. Leichtgewichtige Datenübertragung:
    • MQTT benötigt aufgrund seines schlanken Protokolldesigns weniger Bandbreite für die Übertragung von Daten. Dies ist besonders vorteilhaft in Netzwerken mit begrenzter Kapazität oder hohen Kosten pro Datenübertragung.
  2. Drahtlose Netzwerkkonnektivität:
    • Mit der Fähigkeit, sicher und zuverlässig über drahtlose Netzwerke zu kommunizieren, ist MQTT ideal für Remote- oder schwer zugängliche Standorte, wo kabelgebundene Verbindungen nicht praktikabel sind.
  3. Geringer Ressourcenverbrauch:
    • MQTT ist ressourcenschonend in Bezug auf Bandbreite, Energie und Speicher, was es besonders geeignet für die Nutzung in Mikrocontroller-basierten Systemen macht, die in Industrial IoT-Anwendungen eingesetzt werden.
  4. Hohe Zuverlässigkeit:
    • Die Quality of Service (QoS)-Ebenen von MQTT ermöglichen eine zuverlässige Nachrichtenübermittlung, selbst in Netzwerken mit hoher Latenz oder sporadischer Konnektivität.
  5. Minimaler Bedarf an Verarbeitungs- und Speicherressourcen:
    • Die effiziente Kodierung von MQTT-Nachrichten und die Möglichkeit, persistente Sitzungen zu nutzen, reduzieren den Bedarf an Verarbeitungs- und Speicherressourcen.
  6. Echtzeitkommunikation:
    • Dank der Publish-Subscribe-Architektur ermöglicht MQTT eine ereignisgesteuerte Echtzeit-Kommunikation, die für viele industrielle Anwendungen entscheidend ist.
  7. Einfache Integration:
    • MQTT lässt sich einfach in bestehende Systeme und Netzwerke integrieren, und bietet so eine schnelle Möglichkeit, Industrie 4.0-Fähigkeiten zu realisieren ohne die vorhandene Infrastruktur zu stören.
  8. Skalierbarkeit:
    • Mit seiner Fähigkeit, Tausende von Geräten und Nachrichten zuverlässig zu verwalten, skaliert MQTT leicht mit dem Wachstum Ihrer IoT-Lösungen und Anwendungen.

 

MQTT im Kontext Industrial IoT

In der modernen Fabrik steht die nahtlose Integration von Geräten und Systemen im Vordergrund. In diesem Kontext hat MQTT seine Stärken voll zur Geltung gebracht und ist zur bevorzugten Wahl für viele Fabrikbetreiber geworden. Beispielanwendungen sind:

  1. Integration von Sensoren: Mit der wachsenden Bedeutung des Industrial IoT ist die Integration von Sensoren in Fabriken eine zentrale Anforderung. MQTT hat sich als das führende Protokoll für die Sensoranbindung etabliert. Beispiele sind die Anbindung über IoT-Gateways mittels WIFI oder Bluetooth an zentrale Systeme oder Cloud-Plattformen.
  2. Kommunikation über verschiedene Schichten: MQTT wird zunehmend als führendes Kommunikationsprotokoll für die Enterprise- und Connected-World Schicht des ISA95-Modells eingesetzt. Das Broker-basierte Pub/Sub Model minimiert Integrationskosten und erhöht die Skalierbarkeit. Dies ist insbesondere im Rahmen von Architekturen wie dem Unified Namespace (UNS) von Bedeutung.
  3. Unified Namespace (UNS): Die UNS-Architektur bietet eine zentrale, nicht-hierarchische Systemarchitektur. In dieser Architektur sind alle Fabrikdaten über eine einheitliche Namenskonvention und Datenstruktur in einem zentralen Message Broker zugänglich. MQTT unterstützt diesen Ansatz, indem es Datenproduzenten ermöglicht, Daten im zentralen Message Broker kontinuierlich zu publizieren. Dies folgt dem Prinzip „publish once, distribute everywhere“, wodurch Daten einmal veröffentlicht und dann beliebig vielen Systemen und Anwendungen zur Verfügung gestellt werden können. Weitere Informationen zum UNS finden Sie in unserem Blog.

MQTT im Kontext Unified Namespace (UNS)

 

Mit diesen Vorteilen hat sich MQTT nicht nur als nützliches Tool, sondern als integraler Bestandteil der modernen Fabrik etabliert. Es unterstützt Unternehmen dabei, Anlagen zu optimieren, den Durchsatz zu erhöhen und letztendlich wettbewerbsfähiger zu produzieren.

 

MQTT oder Kafka: Was passt besser im Industrial IoT?

Sowohl MQTT als auch Kafka sind in der Welt der Datenübertragung und -verarbeitung weit verbreitet und haben sich in diversen Anwendungsfällen als Broker-basierte Publish / Subscribe Architektur bewährt. Beide Technologien ermöglichen es, Daten zwischen verschiedenen Systemen oder Komponenten zu übertragen. Allerdings bieten die Technologien unterschiedliche Schwerpunkte und Funktionen.

 

Was sind die Gemeinsamkeiten von MQTT und Kafka?

  1. Datentransfer: Beide ermöglichen das Senden von Daten zwischen Produzenten und Konsumenten auf Basis eines Message Brokers.
  2. Middleware: Sowohl Kafka als auch MQTT fungieren als Middleware, um Daten zwischen Sendern und Empfängern zu transportieren.
  3. Verteilte Systeme: Beide Technologien unterstützen verteilte Systeme und können in Umgebungen mit mehreren Servern und Clients implementiert werden.
  4. Zuverlässigkeit: Sowohl Kafka als auch MQTT bieten Mechanismen zur Gewährleistung der Datenübertragung, wenngleich die Implementierung und die Garantien unterschiedlich sind.

 

Was sind die Unterschiede von MQTT und Kafka?

  1. Durchsatz und Latenz:
    • MQTT: Bietet eine niedrigere Latenz und ist ideal für Anwendungsfälle, in denen schnelle Lieferung von Nachrichten kritisch ist.
    • Kafka: Kann extrem hohe Durchsätze an Nachrichten verarbeiten und ist gut für Anwendungen geeignet, bei denen es um die Verarbeitung großer Datenströme geht.
  2. Datenspeicherung:
    • MQTT: Ist in erster Linie darauf ausgerichtet, Nachrichten mit geringer Latenz zu übertragen und bietet keine eingebauten Funktionen zur Langzeitspeicherung von Daten.
    • Kafka: Bietet robuste Funktionen zur Datenspeicherung und kann Nachrichten für längere Zeit (konfigurierbar) aufbewahren, um sie erneut zu verarbeiten oder im Falle eines Fehlers zu referenzieren.
  3. Fehlertoleranz und Wiederherstellung:
    • MQTT: Hat Mechanismen für die Bestätigung von Nachrichten, aber keine native Unterstützung für Replay oder Langzeitspeicherung von Daten zur späteren Wiederherstellung.
    • Kafka: Bietet starke Fähigkeiten zur Wiederherstellung von Daten nach einem Ausfall dank seiner persistenten Speicherarchitektur und der Möglichkeit, Datenströme zu „replayen“.
  4. Implementierungs- und Wartungsaufwand
    • MQTT: Die Implementierung auf Basis von Client Bibliotheken, die Konfiguration eines MQTT-Brokers sowie Management und Überwachung von MQTT-Brokern sind tendenziell relativ einfach.
    • Kafka: Die Einführung von Kafka ist deutlich komplizierter (z.B. in Bezug auf das Setup und die Konfiguration der Cluster, Planung von Hardware- oder Cloud-Infrastruktur). Auch die Verwaltung der Datenspeicherung sowie robustes Cluster-Management und Überwachung sind deutlich anspruchsvoller.
  5. Anwendung:
    • MQTT: Ist ein leichtes Publish/Subscribe-Protokoll, das besonders für Umgebungen mit eingeschränkten Ressourcen entwickelt wurde und sich ideal für die Kommunikation mit Industrial IoT-Geräten eignet.
    • Kafka: Ist eine verteilte Streaming-Plattform, die besonders zum Streamen und Verarbeiten von großen Mengen von Event-Daten in Echtzeit konzipiert ist. Kafka ist hervorragend für Big-Data-Verarbeitung, Datenanalysen, Aggregationen und für Anwendungen, bei denen es um die Verarbeitung von Datenströmen in großem Maßstab geht.

 

Fazit

Die Frage ob „MQTT oder Kafka“ lässt sich anhand der Anforderungen im Anwendungsfall beantworten. Um Kafka gewinnbringend einzusetzen, sollten die Skalierungsvorteile den Mehraufwand in Implementierung und Wartung über-kompensieren. In der Praxis werden MQTT und Kafka oft komplementär eingesetzt – zum Beispiel MQTT auf der Edge-Ebene für die Kommunikation mit Industrial IoT-Geräten und Kafka für die Verarbeitung der Datenströme in der Cloud. Beide haben spezifische Stärken und können gemeinsam genutzt werden, um robuste, skalierbare und effiziente Industrial IoT Architekturen zu schaffen.

Über i-flow: i-flow ist ein Unternehmen für industrielle Software mit Sitz in Süddeutschland. Wir bieten produzierenden Unternehmen die weltweit intuitivste Software zur Vernetzung von Fabriken. Täglich über 400 Millionen Datenoperationen in produktionskritischer Umgebung demonstrieren nicht nur die Skalierbarkeit der Software, sondern auch das tiefe Vertrauen, das unsere Kunden in i-flow setzen. Unser Erfolg basiert auf enger Zusammenarbeit mit Kunden und Partnern weltweit, darunter namhafte Fortune-500-Unternehmen und Branchenführer wie Bosch.

Jetzt selbst ausprobieren - Kostenlose Testversion

Überzeugen Sie sich in einem Test selbst von den unbegrenzten Möglichkeiten, die Sie mit i-flow erhalten. Jetzt 30 Tage kostenfrei testen, auf Ihren Systemen.

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

Ihr Kontakt:

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