IoT: HiveMQ 4.3 schwärmt performanter aus

Der MQTT-Broker verbessert unter anderem den Durchsatz und den Umgang mit Retained Messages.

In Pocket speichern vorlesen Druckansicht
IoT: HiveMQ 4.3 schwärmt performanter aus

(Bild: Shutterstock)

Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Das deutsche Unternehmen HiveMQ hat Version 4.3 des gleichnamigen MQTT-Brokers veröffentlicht. Für das aktuelle Release lag der Fokus vor allem auf einer erhöhten Performance und der besseren Verwaltung von Retained Messages. Außerdem bringt das Software Development Kit (SDK) einige Neuerungen mit.

Für die Performance haben die Entwickler den Speichbedarf, die CPU-Nutzung und den Durchsatz besonders für Nachrichten mit größeren Payloads, also umfangreicheren zu versendenden Daten, optimiert. Außerdem haben sie das Replizieren in Clustern angepasst, um die Geschwindigkeit und Zuverlässigkeit bei Änderungen der Cluster-Topologie zu verbessern.

Laut HiveMQ schlagen die Verbesserungen vor allem bei Nachrichten mit QoS (Quality of Service) 1 oder 2 sowie Retained Messages zu Buche. Die MQTT-Spezifikation kennt drei QoS-Stufen: 0 bedeutet, dass der Client die Nachricht höchstens einmal erhält (At most once delivery). QoS-1-Nachrichten müssen den Empfänger mindestens einmal (at least once delivery) erreichen, und QoS 2 garantiert exakt eine Zustellung (exactly once delivery).

Wenn ein MQTT-Client eine Nachricht mit dem RETAIN-Flag versieht, behält der Broker sie für künftige Anfragen ein. Das bedeutet nicht, dass er sie zurückhält: Der Versand an verbundene Subscriber erfolgt unverzüglich, aber Clients, die sich später neu für ein Topic eintragen, erhalten die passende Retained Message gleich nach dem Abonnieren. Auf die Weise müssen sie nicht auf den Versand einer neuen Nachricht warten, um auf dem aktuellen Stand zu sein.

Kunden der kommerziellen Varianten von HiveMQ erhalten eine neue Ansicht für Retained Messages im HiveMQ Control Center. Die Übersicht zeigt eine Liste aller Nachrichten mit gesetztem RETAIN-Flag jeweils mit dem zugehörigem Topic, der Payload-Große und dem Zeitpunkt des Erstellens der Nachricht.

Neben einer Liste bietet das Control Center eine Detailansicht für jede Retained Message.

(Bild: HiveMQ)

Außerdem bietet das Control Center zu jeder Retained Message eine Detailansicht, die zahlreiche Eigenschaften und Metadaten zu den einzelnen Nachrichten anzeigt.

Das Community Extension SDK hat ebenfalls einige Neuerungen an Bord. Unter anderem können Entwickler damit eine Authentifizierung über SCRAM (Salted Challenge Response Authentication Mechanism) oder Kerberos umsetzen. Außerdem hat HiveMQ das Callback-Handling verbessert, und über Reason Strings sowie Codes können ClientService Clients mitteilen, warum sie nicht mehr mit dem Server verbunden sind.

Das SDK führt zudem zahlreiche neue Interceptors ein, die das Verwalten einzelner Pakettypen vereinfacht. Sie tragen jeweils die Art der Pakete und die Richtung des Transfers im Namen, sodass beispielsweise der PubcompInboundInterceptor eingehende PUBCOMP-Pakete behandelt.

HiveMQ ist ein in Deutschland entwickelter MQTT-Broker. Das gleichnamige Unternehmen dahinter trug bis vor Kurzem noch den Namen dc-square. MQTT gehört zu den wichtigsten Protokollen im Internet der Dinge und ist bereits vor zwanzig Jahren entstanden. Breit durchgesetzt hat es sich jedoch um 2012. Anfang 2018 ist Version 5 erschienen. Der Name des Protokolls stand ursprünglich für MQ TelemetryTransport.

MQTT setzt auf ein Publish/Subscribe-Modell, bei dem der Broker eine wesentliche Rolle spielt. MQTT-Clients abonnieren bestimmte Topics und werden damit zu Subscribern. Der Versand von Nachrichten erfolgt ebenfalls von einem MQTT-Client aus, und die Nachricht enthält neben weiteren Informationen auch Angaben zum Topic. Der MQTT-Broker ist dafür verantwortlich, die veröffentlichte Nachricht an die anderen MQTT-Clients zu verteilen, die das entsprechende Topic abonniert haben.

Der Tacho veröffentlicht 70mph mit dem Topic "speed", die der Broker an die Subscriber von "speed" weitergibt.

(Bild: HiveMQ)

Weitere Neuerungen in HiveMQ 4.3 lassen sich dem HiveMQ-Blog entnehmen. Der MQTT-Broker ist seit April in einer Open-Source-Variante verfügbar. Daneben bietet das Unternehmen eine Professional Edition und eine Enterprise Edition mit zusätzlichen Funktionen an, die sich vor allem auf verbesserte Administration und den Einsatz im Cluster sowie erweiterte Security- und Monitoring-Features konzentrieren. Der Broker steht auf der Download-Seite als ZIP-Archiv bereit. Dort sind auch Anleitungen zum Einsatz in Docker-Containern sowie auf Amazon Web Services (AWS) zu finden.

Mehr Infos

Vom 2. bis 4. März 2020 findet in Essen zum fünften Mal die building IoT statt. Die Entwicklerkonferenz rund um das Internet der Dinge hat dieses Jahr unter anderem die IoT-Ökosysteme der großen Open-Source-Organisationen Eclipse, Apache und der Linux Foundation im Fokus.

Auf GitHub findet sich unter den Releases beim Schreiben dieser Meldung noch Version 2019.1 der Community Edition. Dominik Obermaier, CTO von HiveMQ kündigte gegenüber heise Developer jedoch an, dass im Repository noch im Lauf des heutigen Freitags das aktuelle Release 2020.1 bereitstehen soll. (rme)