Apache Kafka 2.5 setzt auf Cogroup für Kafka Streams

Die Streaming-Plattform unterstützt Transport Layer Security in Version 1.3. Außerdem wurden zahlreiche Bugs behoben.

In Pocket speichern vorlesen Druckansicht
Apache Kafka 2.5. setzt auf Cogroup für Kafka Streams

(Bild: zffoto/Shutterstock.com)

Lesezeit: 2 Min.

Die Apache Software Foundation hat Version 2.5 von Apache Kafka veröffentlicht. Das Update bringt neben sieben neuen Features eine Vielzahl von Überarbeitungen und Bugfixes für das Big-Data-Framework.

Neu ist unter anderem, dass der auf die Echtzeitverarbeitung großer Datenmengen ausgelegte Message Broker nun TLS 1.3 unterstützt, während TLS 1.2 als Mindeststandard festgelegt ist. Darüber hinaus bietet nun auch das ZooKeeper-Migrationstool Support für TLS und somit für X509-Authentifizierung. Kafka 3.5 erlaubt außerdem das Abrufen eines Schlüssels von einer einzelnen Partition, anstatt über alle Stores einer Kafka-Streams-Instanz zu iterieren. Mit diesem Feature sollen sich die Latenzen von Anwendungen optimieren lassen, die mehrere Partitionen auf einer einzigen Instanz mitbringen und bei denen intern keine Bloom-Filter für Rocksdb aktiviert sind.

Der unmittelbare ZooKeeper-Zugang soll langfristig aus den Kafka-Admin-Tools entfernt werden. Im Fokus steht die Optimierung der Sicherheit sowie die Entkopplung des serverseitigen Metadatenformats vom Client. Zusätzlich dient die Entfernung als erster Schritt zur Speicherung von Kafka-Metadaten in Kafka. Bevor --zookeeper flag entfernt werden kann, durchläuft es einen Deprecation Prozess (KIP-555).

Die Vereinigung mehrerer Datenströme zu einem einzigen größeren Objekt lässt sich mit der Kafka-Streams-DSL (Domain Specific Language) bisher nur schwer umsetzen. Wenn beispielsweise bei einem Onlineshop ein Warenkorb-, ein Wunschlisten- und ein Einkaufsdatenstrom einen einzelnen Kunden repräsentieren sollen, müssen alle Ströme zu KTables gruppiert und aggregiert werden. Darüber hinaus sind mehrere äußere Join Calls erforderlich, um ein KTable des gewünschten Objekts zu erhalten. Dadurch entsteht für jeden Stream ein Zustandsspeicher und eine lange Kette von ValueJoiners, die jeder neue Datensatz durchlaufen muss, um zum endgültigen Objekt zu gelangen. Das Kafka-Update ermöglicht es Entwicklern nun, eine cogroup-Methode zu erstellen, mit der sich alles in einem einzigen State Store bündeln lässt. Durch Einsatz der cogroup-Methode soll sich die Anzahl der Gets aus den Zustandsspeichern reduzieren und die Anwendung von einer leichten Leistungssteigerung profitieren.

Weiterführende Informationen zu den genannten und weiteren Features von Apache Kafka 2.5 finden sich in den Release Notes und im Blog-Beitrag. Über die Projektseite von Apache Kafka steht die aktuelle Version zum Download bereit. (mdo)