Datenanalyse im Stream mit Apache Pulsar 2.0

Das neue Major Release des verteilten Pub-Sub Messaging-Systems bietet "Pulsar Functions" für natives Stream Processing.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Apache Kafka v1.0.0 verfügbar
Lesezeit: 3 Min.
Von
  • Matthias Parbel

Die Apache Software Foundation (ASF) hat Version 2.0 des ursprünglich von Yahoo entwickelten Publish-Subscribe-Messaging-Systems Pulsar vorgelegt. Das aktuelle Major Release bietet neben zahlreichen Performanceoptimierungen einige neue Funktionen – darunter Topic Compaction, eine Schema-Registry sowie die Pulsar Functions für natives Stream Processing. Letztere sollen Entwicklern vor allem bei der Analyse und Transformation von im Fluss befindlichen Daten mehr Optionen an die Hand geben.

Die mit Lambda-Funktionen vergleichbaren Pulsar Functions erlauben die Implementierung einer anwendungsspezifischen Verarbeitungslogik, die Entwickler in Java oder Python programmieren können. Orchestrierung und Ausführung der Funktionen wickelt Apache Pulsar 2.0 eigenständig ab. Unterstützung für weitere Programmiersprachen soll in künftigen Releases folgen.

Apache Pulsar konkurriert mit anderen Message-Brokern wie Apache Kafka, unterscheidet sich von diesem aber unter anderem durch die konsequente Auslegung auf eine garantierte Zustellung von Nachrichten. Pulsar nutzt dazu Apache BookKeeper (aktuell in Version 4.7) als dauerhaften Nachrichtenspeicher. Die Entwickler von Pulsar haben besonderen Wert auf niedrige Latenz und hohe Skalierbarkeit gelegt.

Das Messaging System soll sich problemlos auf über eine Million Topics ausbauen lassen, denen im Publish-Subscribe-Modus Nachrichten zugewiesen werden. Mit Einrichtung einer Schema-Registry in Pulsar 2.0 können Developer nun über definierbare Topic-Schemata stärkeren Einfluss auf die Struktur und Integrität der von den Producern gelieferten Daten nehmen. Pulsar kontrolliert dann automatisch die Einhaltung der Vorgaben. Die Schemata eröffnen darüber hinaus die Möglichkeit, die Serialisierung und Deserialisierung durch die Client Library zu automatisieren, denn die Pulsar Client API ist nun auch typensicher.

Schematische Darstellung eines Pulsar-Clusters.

(Bild: Apache)

Unter den Maßnahmen zur Verbesserung der Leistung von Apache Pulsar ist unter anderen die Topic Compaction hervorzuheben. Mit dieser Funktion lassen sich sogenannte Snapshots von Topics anlegen und in BookKeeper lagern. Diese kompakten Snapshots enthalten lediglich die letzten mit einem spezifischen Schlüssel erstellten Nachrichten, sodass Consumer unmittelbaren Zugriff auf eine Auswahl haben, anstatt den kompletten Stream durchgehen zu müssen. So lässt sich beispielsweise der grundlegende Neuaufbau eines Key-Value-Store deutlich beschleunigen.

Nähere Informationen zu Apache Pulsar 2.0 sowie zu sämtlichen Neuerungen finden sich in der Dokumentation. Das Pub-Sub Messaging System steht ab sofort zum Download zur Verfügung. Das Projekt hat bei der ASF aktuell noch den Status "incubating", bildet aber bereits die Basis der Fast-Data-Plattform von Streamlio. Das Unternehmen um Mitgründer Matteo Merli, der bereits bei Yahoo Architekt und Chefentwickler von Pulsar war, engagiert sich in der Weiterentwicklung des Projektes, um das Pub-Sub-Messaging-System für den Unternehmenseinsatz zu optimieren. (map)