IoT: HiveMQ 4.2 automatisiert Backups und erweitert das SDK

Die Neuerungen des MQTT-Broker zielen vor allem auf die kommerziellen Varianten.

In Pocket speichern vorlesen Druckansicht
IoT: HiveMQ 4.2 automatisiert Backups und erweitert das SDK

(Bild: Shutterstock)

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

Das deutsche Unternehmen HiveMQ hat den gleichnamigen MQTT-Broker in Version 4.2 veröffentlicht. Die Neuerungen zielen in vor allem auf die Professional Edition beziehungsweise Enterprise Edition. Die Ergänzungen zum Software Development Kit (SDK) decken jedoch zu einem großen Teil auch die kostenfreie Community Edition ab.

Nutzer der Professional- und Enterprise-Variante finden neuerdings eine integrierte Backup-und-Restore-Funktion. Im Control Center können sie Sicherungen erstellen, die unter anderem die aufbewahrten Nachrichten (Retained Messages) und Nachrichten in der Warteschlange (Queued Messages), MQTT-Client-Sessions sowie Client-Subscriptions über das gesamte Cluster enthalten. Das Control Center stellt das Backup als komprimierte Datei bereit, und nach Ausfällen lässt sich der Zustand des Clusters über ein Upload wiederherstellen.

Das Control Center gibt einen Überblick über die gespeicherten Backups.

(Bild: HiveMQ)

Der Enterprise Edition vorbehalten ist die neu eingeführte rollenbasierte Zugriffskontrolle (RBAC, Role Based Action Control) für das Control Center, um festzulegen, wer welche Daten ansehen oder ändern darf. Unter anderem lassen sich auf die Weise juristische Vorgaben umsetzen, die den Zugriff auf IP-Adressen für einige oder alle Administratoren verbieten. Neu ist zudem ein Audit-Log, der neben der Log-Datei mit technischen Informationen ein Log erstellt, das alle Nutzeraktionen im HiveMQ Control Center protokolliert.

Das SDK von HiveMQ bietet einige neue APIs, die sich zum Großteil an die Nutzer aller Varianten inklusive der Community Edition wenden. Dort finden sich vier neue sogenannte Interceptors zum Verändern von Paketinhalten. Der SubscribeInboundInterceptor und der ConnectInboundInterceptor ermöglichen das Modifizieren eingehender MQTT SUBSCRIBE- beziehungsweise MQTT CONNECT-Pakete. Der ConnackOutboundInterceptor dient zum Verändern und Erweitern ausgehender MQTT CONNACK-Pakete, und mit PublishOutboundInterceptor lassen sich Pakete vor dem Veröffentlichen an die Clients modifizieren.

Darüber hinaus gibt es unter anderem einen SubscriptionStore für den Zugriff auf alle MQTT-Subscriber mit ihren Subscriptions und einen ClientStore zum Zugriff auf alle MQTT-Sessions im Cluster. Der AdminService ermöglicht das Abfragen von Informationen über den Zustand vom Server und Broker und somit auch automatisierte Health-Checks.

Nutzer der Enterprise Edition von Hive MQ finden unter anderem ein Control-Center-Permissions-SDK zum Steuern der Zugriffsberechtigungen für die Anwender und einen SessionAttributeStore, um beliebige Schlüssel-Werte-Daten mit MQTT-Sessions zu verknüpfen und Cluster-weit bereitzustellen.

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, das bereits vor zwanzig Jahren entstanden ist. Breit durchgesetzt hat es sich jedoch um 2012. Anfang 2018 ist Version 5 erschienen. Der Name des Protokolls stand ursprünglich für MQ Telemetry Transport.

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)

Der MQTT-Broker HiveMQ 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. Zusammen mit BMW Car-IT hat HiveMQ im Frühjahr einen auf MQTT 5 zugeschnittenen Java-Client als Open-Source-Software veröffentlicht.

Weitere Details zu HiveMQ 4.2 finden sich im Blogbeitrag. Das Release lässt sich als direkter Ersatz für Version 4.1 einsetzen. HiveMQ 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. Einen Vergleich der unterschiedlichen Editionen mit den jeweiligen Funktionen zeigt die Produktseite.

Siehe dazu auf heise developer:

(rme)