Allgemeine Beschreibung
Ein 320 Seiten umfassendes Buch, das aus 11 Kapiteln besteht. Neben dem Textinhalt enthält das Buch eine Vielzahl von grafischen Informationen in Form von Diagrammen und Schaubildern sowie eingebettete Code-Snippets. Der Schwierigkeitsgrad ist mittel. Jedes Kapitel wird durch eine kurze Zusammenfassung in Form einiger Sätze ergänzt.
Kurze Übersicht
Die ersten beiden Kapitel können als Einführung betrachtet werden. Das erste Kapitel stellt Kafka vor: das Publizieren/Abonnieren-Prinzip, seine Nische und Anwendungsbereiche. Das zweite Kapitel behandelt die Installation von Kafka, die ausführlich erklärt wird – von der Wahl des Betriebssystems und der Installation von ZooKeeper bis hin zu den Anforderungen an Speicher, Festplatte, Netzwerk und Prozessor. Allein diese beiden Einführungskapitel machen etwa 20 % des gesamten Buches aus.
Da Kafka auf dem Publizieren/Abonnieren-Prinzip basiert, ist es logisch, dass Produzenten und Konsumenten direkt nach der Installation behandelt werden. Dies ist der Schwerpunkt der beiden folgenden Kapitel. Es ist schwierig, die Tiefe dieser Themen definitiv zu bewerten, da ich kein Kafka-Experte bin, aber ich kann einige behandelte Bereiche erwähnen: Erstellung und Konfiguration von Konsumenten und Produzenten, synchrone und asynchrone Nachrichtenübermittlung, Serialisierung, Zustellgarantien und der Umgang mit Offsets.
Das nächste Kapitel taucht tiefer in die Architekturdetails ein. Es werden Replikationsmechanismen, die Arbeit mit Indizes, Fehlerbehandlung und vieles mehr diskutiert.
Dann folgt ein Kapitel über die Zuverlässigkeit der Datenlieferung. Es behandelt die ACID-Prinzipien, wobei ein großer Teil der Replikation und verschiedenen Konfigurationsoptionen für deren Einrichtung gewidmet ist.
Das nächste Kapitel beschäftigt sich mit dem Aufbau von Datenpipelines. Es beginnt mit einer Diskussion über die Anforderungen an solche Systeme, gefolgt von einer Untersuchung von Kafka Connect, der Arbeit mit Daten aus MySQL und Elasticsearch sowie einigen Worten zu Alternativen zu Kafka Connect.
Das folgende Kapitel konzentriert sich auf die Replikationsfähigkeiten zwischen verschiedenen Kafka-Clustern mit MirrorMaker. Es werden Migrationsszenarien, Backups und die Gewährleistung von Fehlertoleranz auf geografischer Ebene behandelt.
Danach gibt es zwei Kapitel über die Verwaltung und Überwachung von Kafka. Es ist nicht notwendig, hier ins Detail zu gehen – wer interessiert ist, kann es selbst nachlesen. Insgesamt schienen diese Kapitel weder langweilig noch übermäßig komplex zu sein.
Schließlich ist das letzte Kapitel der Datenstromverarbeitung gewidmet – es behandelt die Grundlagen von Kafka Streams und den Aufbau von Anwendungen zur Echtzeit-Datenverarbeitung.
Meinung
Ein solides Buch über Kafka. Auch wenn ich Kafka vor dem Lesen nicht genutzt hatte, war das Material recht verständlich und informativ. Leider werden viele Dinge ohne praktische Erfahrung schnell vergessen, aber die zuvor angefertigten Notizen halfen mir, mein Gedächtnis schnell aufzufrischen. Wenn Sie Backend-Entwickler sind und planen, sich weiter als Spezialist zu entwickeln, würde ich dieses Buch empfehlen, selbst wenn Sie bereits mit einem anderen Messaging-System vertraut sind.