Streaming-Plattform: Apache Kafka 2.7 bekommt neue Inter-Broker API

Mit der Core-Raft-Implementierung und der neuen API für Änderungen der In-sync Replica macht Kafka einen weiteren großen Schritt beim Abschied von ZooKeeper.

In Pocket speichern vorlesen Druckansicht
Streaming-Plattform: Apache Kafka 2.6 verspricht höhere Performance
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Der von der Community und Confluent unter dem Dach der Apache Software Foundation weiterentwickelte Message Broker Kafka liegt offiziell in Version 2.7 vor. Das Update des auf die Echtzeitverarbeitung großer Datenmengen ausgelegten Open-Source-Projekts enthält neben zahlreichen Bugfixes auch verschiedene Verbesserungen und einige neue Funktionen. Fortschritte habe das Kafka-Team vor allem bei den Bemühungen gemacht, ZooKeeper mit Blick auf das Release 3.0 durch ein selbstverwaltetes Metadaten-Quorum zu ersetzen (KIP-500).

Apache Kafka 2.7 bietet dazu eine neue Inter-Broker API. Sie soll die Voraussetzungen schaffen, um Änderungen in der In-sync Replica (ISR) schneller und sicherer vornehmen zu können. Der bisherige Ansatz, Updates der vom Controller (im Kafka-Cluster verantwortlicher Broker für das Zustandsmanagement von Partitionen und Replicas) und den Partition Leaders in ZooKeeper (znode "/brokers/topics/[topic]/partitions/[partitionId]/state") gespeicherten Informationen über zkVersion abzusichern, ging mit Zeitverzögerungen einher. Insbesondere die Weitergabe von zkVersion durch den Leader an den Controller erfolgt bis zu 60 Sekunden verzögert. Um künftig zu verhindern, dass dadurch die Abfrage von Metadaten veraltete Informationen liefert, soll die neue AlterIsr-API helfen. Sie gewährt dem Controller das exklusive Vorrecht, Partition Leader und ISR zu aktualisieren.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Eine weitere Maßnahme, die dazu beitragen soll, ZooKeeper ersetzen zu können, ist die Einführung einer Broker-seitigen SCRAM Konfigurations-API. Wie laut Kafka Improvement Proposal KIP-554 vorgesehen, lassen sich SCRAM Credentials künftig über das Kafka-Protokoll verwalten. Das zugehörige Werkzeug kafka-configs ist dazu in Version 2.7 an die neue Protokoll-API angepasst.

Im Update des Message Broker findet sich darüber hinaus eine Core-Raft-Implementierung gemäß KIP-595. Ein separates "Raft"-Modul enthält den Kern des Konsensprotokolls. Solange die Integration mit dem Controller jedoch noch nicht abgeschlossen ist, steht Kafka-Anwendern ein separater Server zur Verfügung, um die Leistungsfähigkeit der Raft-Implementierung zu testen.

Mehr Details und einen vollständigen Überblick sämtlicher Neuerungen liefern der Confluent-Blogbeitrag zur Ankündigung der neuen Version sowie die Release Notes zu Apache Kafka 2.7.

(map)