Buchbesprechung: Einführung in das Event-Streaming mit Apache Kafka

Das neue Buch bietet einen niedrigschwelligen Einstieg und beleuchtet Konzepte sowie den nutzbringenden Einsatz von Kafka im Unternehmenskontext.

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
Buchbesprechung: Apache Kafka

(Bild: Alexander Postolny/Shutterstock.com)

Lesezeit: 5 Min.
Von
  • Annette Bosbach
Inhaltsverzeichnis

Anatoly Zelenin, Alexander Kropp
Apache Kafka – Von den Grundlagen bis zum Produktiveinsatz
Hanser, November 2021
192 Seiten, 44,99 € (Hardcover inkl. eBook)
ISBN: 978-3-446-46187-1

"Da steh ich nun, ich armer Tor, und bin so klug als wie zuvor" – Doktor Faustus' frustrierter Ausruf angesichts der Unzulänglichkeiten universitärer Bildung gilt seit jeher in besonderer Weise auch für Apache Kafka. Das ursprünglich von Linkedin entwickelte verteilte Event-Subsystem ist auf das Speichern und Verarbeiten von Datenströmen für Big-Data-Anwendungen ausgelegt. Alleinstehend ist es jedoch nicht zu besonders viel nütze, sondern enthüllt seinen eigentlichen Nutzwert erst in der Kombination und Integration mit anderen Systemen.

Anatoly Zelenin und Alexander Kropp gelten als Experten für Apache Kafka und genießen gar den Status von Promi-Consultants. Mit dem von ihnen verfassten Werk "Kafka – Von den Grundlagen bis zum Produktiveinsatz" legt der Hanser-Verlag ein 192 Seiten kurzes Buch vor, das Grundlagen und Anwendung zu demonstrieren sucht.

Um den Zugang zu Kafka niedrigschwellig zu halten, beginnen die beiden mit einem zehnseitigen Kapitel, das sich mit dem simulierten Start einer Rakete beschäftigt und die Verarbeitung der entstehenden Telemetriedaten über ein Kafka-basiertes System beschreibt. Eine funktionierende Kafka-Installation setzen die Autoren dabei stillschweigend voraus. Interessierte Leserinnen und Leser finden allerdings im fünften Kapitel eine detaillierte Anweisung dazu, wie man Kafka unter Nutzung der ZooKeeper-Verwaltung ausliefert und damit einen Raketen-Überwachungscluster konstruieren kann.

Etwas unglücklich ist, dass die Fertigstellung des Buchs der Veröffentlichung von Kafka 3.0 Ende September 2021 vorausging. Um dennoch auch die Installation des Event-Subsystems ohne den seither veralteten ZooKeeper beschreiben zu können, versprechen die beiden Autoren, allen Käufern des Werks auf ihrer Webseite ein kostenloses Update des betreffenden Kapitels bereitzustellen, in dem das Deployment von Kafka ohne ZooKeeper erläutert wird.

Das martialisch angehauchte Beispiel mit der Rakete nutzen Kropp und Zelenin auch im zweiten Kapitel für die Betrachtungen zu Ereignissen und Kafka-Nachrichtenpayloads, um am konkreten Projekt die verschiedenen Konzepte zu demonstrieren – das hilft all jenen, die schon mit Messenger-Protokollen wie beispielsweise MQTT vertraut sind.

Apache Kafka kommt darüber hinaus auch häufig zum Verwalten von Logging-Informationen in Performance-kritischen Einsatzgebieten zur Anwendung. Neben Überlegungen zu einem verteilten Kafka-Cluster widmen sich die Autoren in diesem Zusammenhang auch Methoden zur Steigerung der Performance und dem Management der Zuverlässigkeit des Gesamtsystems.

(Bild: Hanser)

Wie in vielen Bereichen der Informatik gilt auch für Apache Kafka: nichts läuft automatisch optimal. Die Handreichungen im Buch helfen jedoch, die gestellten Aufgaben zu meistern und dabei zwischen verschiedenen Vorgehensweisen abzuwägen.

Auf die bis hierher auf höhere technischer Ebene erfolgten Überlegungen lassen die Autoren im Kapitel "Kafka Deep Dive" eine tiefergehende Analyse folgen. Kropp und Zelenin präsentieren darin – wenn auch mit etwas Distanz – das in Kafka verwendete Netzwerkprotokoll, und erklären beispielsweise die (wichtige, manchmal jedoch problematische) Rolle von ACK-Paketen, die im Rahmen der in einem Kafka-Cluster ablaufenden Kommunikationsprozesse dazu dienen, den Erhalt oder die Verarbeitung von Daten oder Befehlen zu bestätigen.

Im später folgenden Abschnitt zu den Programmierwerkzeugen finden sich neben Shellskripten auch Snippets, die den Einsatz von Apache Kafka aus Python heraus demonstrieren.

Das bereits erwähnte Protokoll MQTT markiert den Einstieg in das vierte Buchkapitel, in dem die Autoren einen Einblick geben, wie sich Kafka sinnvoll in die Unternehmens-IT integrieren lässt, um auch einen Wertbeitrag zum Business zu erzielen.

Neben einem detaillierten – und nach Einschätzung der Rezensentin auch fairen – Vergleich zwischen Kafka und "konkurrierenden" Message-Broker-Diensten widmen sich Kropp und Zelenin auch weiteren Diensten wie Kafka Streams, die sich im Unternehmenseinsatz sinnvoll mit dem Hauptsystem kombinieren lassen. Auch die Sicherheit kommt nicht zu kurz, und Überlegungen zu Referenz-Architekturen in Kubernetes, auf eigener Hardware sowie in virtuellen Maschinen runden das Kapitel ab.

Apache Kafka zählt zu jenen anspruchsvolleren Systemen, zu deren Verständnis man Zeit und den Willen zur Auseinandersetzung mit den Konzepten mitbringen muss. Wer zu beidem bereit ist, findet in der von Anatoly Zelenin und Alexander Kropp vorgelegten Einführung einen hilfreichen Wegweiser durch den Dschungel des Event-Subsystems. Ob das am Ende dann erreichte Ziel auch zufriedenstellen kann, steht auf einem anderen Blatt – denn Apache Kafka ist und bleibt ein System, das sich nicht überall gleichermaßen gewinnbringend einsetzen lässt.

Annette Bosbach
betreut die Legacysysteme der Tamoggemon Holding k.s. und befasst sich darüber hinaus seit Jahren mit dem Einfluss, den Technik und Menschen aufeinander nehmen.

(map)