IoT: HiveMQ 4.3 schwärmt performanter aus
Der MQTT-Broker verbessert unter anderem den Durchsatz und den Umgang mit Retained Messages.
- Rainald Menge-Sonnentag
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.
QoS und einbehaltene Nachrichten
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.
Mehr Übersicht
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.
Außerdem bietet das Control Center zu jeder Retained Message eine Detailansicht, die zahlreiche Eigenschaften und Metadaten zu den einzelnen Nachrichten anzeigt.
Erweiterte Schnittstelle
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.
MQTT und der deutsche Bienentstock
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.
Pakete und Varianten
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.
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)