Interview mit Dominik Obermaier

HiveMQ – der MQTT Broker der Zukunft: „MQTT 5 ist ein riesiger Sprung nach vorne“

Hartmut Schlosser

Dominik Obermaier

Vor wenigen Tagen erschien die erste Preview für HiveMQ 4, einem Broker für das Internet-of-Things-Protokoll MQTT. Im Interview sprachen wir mit Dominik Obermaier, Geschäftsführer bei der dc-square GmbH und HiveMQ-Architekt, über das kommende Release, dessen Highlights und die Zukunft des MQTT Brokers.

JAXenter: Hallo Dominik, vielen Dank, dass du dir die Zeit für dieses Interview genommen hast! Du bist einer der Architekten hinter dem Projekt HiveMQ, das ihr seit einigen Jahren entwickelt. Wie kam es eigentlich dazu?

Dominik Obermaier: Wir kamen bereits 2012 mit MQTT in Berührung. Zu dieser Zeit war das Ökosystem noch sehr übersichtlich und es gab nur eine kleine Auswahl an verfügbaren Client-Bibliotheken und MQTT Brokern. Für ein Projekt benötigten wir einen skalierbaren, clusterfähigen und hochverfügbaren MQTT Broker, der sich in bestehende Systeme wie Datenbanken und Big-Data-Applikationen integrieren ließ. Der einzige damals verfügbare – und auch heute noch sehr populäre – MQTT Broker mosquitto erfüllte keine der Anforderungen und so begannen wir selbst, einen MQTT Broker zu entwickeln, der diese Anforderungen erfüllt. Heute hat sich HiveMQ zu einem der populärsten MQTT 3.1.1 Broker für professionelle Anwender entwickelt und wird in mehr als 120 Ländern eingesetzt. Pro Cluster sind mehr als 10.000.000 gleichzeitige MQTT-Verbindungen möglich und es existieren Integrationen über das offene Plug-in-System für alle gängigen externen Systeme – von Kafka und NoSQL-Datenbanken bis hin zu klassischen Datenbanken und REST APIs.

JAXenter: Soeben habt ihr eine Preview-Version für HiveMQ 4 veröffentlicht. Das große Thema ist dabei MQTT 5. Wo lag bei der Unterstützung für MQTT 5 die größte Herausforderung im HiveMQ-Entwickler-Team?

MQTT 5 ist ein riesiger Sprung nach vorne, da die neue Version des Standards gängige proprietäre Funktionalitäten von HiveMQ wie etwa Shared Subscriptions standardisiert.

Dominik Obermaier: MQTT 5 ist ein riesiger Sprung nach vorne, da die neue Version des Standards gängige proprietäre Funktionalitäten von HiveMQ wie etwa Shared Subscriptions standardisiert. Es gibt aber auch etliche neue Erweiterungen des Protokolls und so ist sehr viel neue Funktionalität in MQTT gewandert.

Die größte Herausforderung für uns war, dass wir nicht nur MQTT 5 unterstützen, sondern einen MQTT Broker erschaffen wollten, der für die neue Protokollversion von Grund auf designt wurde und zusätzlich noch MQTT 3.1.1 „sprechen“ kann.

Die komplette Softwarearchitektur wurde an MQTT 5 angepasst, inklusive der Architektur für den Cluster. Das Result ist der bis dato skalierbarste und robusteste MQTT Broker – und das für alle MQTT-Versionen.

JAXenter: Was sind aus deiner Sicht die Highlights des HiveMQ-4-Releases?

Dominik Obermaier: Das wichtigste Highlight ist die Unterstützung des MQTT-5-Protokolls. Außerdem haben wir eine MQTT-Kompatibilitätsschicht implementiert, sodass auch Clients, die „nur“ die MQTT-Versionen 3.1.1 und 3.1 implementieren, in der Lage sind, mit MQTT 5 Clients zu interagieren, ohne dabei die neuen Protokollfeatures in der Kommunikation für die neuen Clients zu verlieren. Die Preview-Version von HiveMQ 4 lässt sich natürlich auch horizontal über mehrere Knoten skalieren und es werden aktuell Cluster mit bis zu 10.000.000 MQTT Clients unterstützt. Reif für den Produktivbetrieb wird HiveMQ 4 dann mit dem offiziellen Release im Herbst.

JAXenter: HiveMQ wird gerne zusammen mit MQTT Bee genutzt. Was ist MQTT Bee – und wie spielt es mit HiveMQ zusammen?

Dominik Obermaier: MQTT Bee ist die Java-basierte MQTT-Client-Bibliothek, die von uns zusammen mit Firmen und Entwicklern aus der Automobilbranche entwickelt wird. Es ist eine vollwertige MQTT-5-Bibliothek, die den Fokus auf ressourcenschonende und performante MQTT-Umsetzung legt. Die Bibliothek basiert auf RxJava, ist also komplett „reactive“, es gibt aber natürlich auch API Layer, die auch eine blockierende oder Future-basierte Benutzung erlauben. MQTT Bee sehen wir als die Standardbibliothek für Java-basierte MQTT-5-Projekte an, die speziell in Enterprise-Umgebungen Anwendung findet. Natürlich ist MQTT Bee Open Source und unter der Apache-2.0-Lizenz auf GitHub verfügbar (mqtt-bee).

JAXenter: Wie geht’s weiter mit HiveMQ? Welche Pläne habt ihr?

Dominik Obermaier: Im Herbst wird HiveMQ 4 offiziell veröffentlicht, ab diesem Zeitpunkt wird es also Produktivsupport für MQTT 5 geben. Wir haben einige sehr große Ankündigungen für den Herbst in der Pipeline, welche aus unserer Sicht das Java-MQTT-Ökosystem signifikant stärken werden.

JAXenter: Vielen Dank für das Interview!

Dominik Obermaier ist Geschäftsführer bei der dc-square GmbH, die hochskalierbare IoT-Lösungen, wie den MQTT-Broker HiveMQ, entwickelt. Dominik berät Unternehmen im Bereich MQTT, Messaging und IoT. Er entwickelte MQTT 3.1.1 bei OASIS mit und ist regelmäßiger Autor und Speaker auf Konferenzen.
Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: