E-Book, Deutsch, 421 Seiten
Zelenin / Kropp Apache Kafka
2. überarbeitete Auflage 2025
ISBN: 978-3-446-48561-7
Verlag: Hanser, Carl
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Von den Grundlagen bis zum Produktiveinsatz
E-Book, Deutsch, 421 Seiten
ISBN: 978-3-446-48561-7
Verlag: Hanser, Carl
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Alexander Kropp ist seit seiner Kindheit leidenschaftlicher Informatiker und programmiert seit er 10 Jahre alt ist. Als Forscher und Berater unterstützt Alexander seit einem Jahrzehnt namhafte Unternehmen bei der Digitalisierung und Prototypen-Entwicklung. Parallel ist er als Dozent und Trainer im Cloud-Umfeld tätig. Er wohnt in Karlsruhe.
Autoren/Hrsg.
Weitere Infos & Material
| 1 | Einführung in Apache Kafka |
Dieses Kapitel beinhaltet:
Was Apache Kafka ist und wofür es verwendet wird
Wie Apache Kafka in Unternehmens-Architekturen integriert wird
Architekturübersicht von Apache Kafka
Wie man Apache Kafka betreibt und verwendet
Im ersten Kapitel werden wir uns mit den Grundlagen von Apache Kafka beschäftigen. Wir werden lernen, was Apache Kafka ist und wo es eingesetzt werden kann. Noch wichtiger ist, dass wir uns ansehen werden, wie Apache Kafka im Kontext ganzer Unternehmens-Architekturen betrachtet werden kann. Wir werden die grundlegenden Komponenten von Apache Kafka kennenlernen und ihren Zweck verstehen. Zu guter Letzt werden wir herausfinden, was erforderlich ist, um Apache Kafka in Bezug auf Hardware, Tools oder Programmiersprachen zu verwenden.
| 1.1 | Was ist Apache Kafka und wie löst es unsere Probleme? |
Unsere Welt geschieht in Echtzeit. Wenn wir einen Kauf tätigen, erwarten wir eine sofortige Bestätigung. Wenn wir Pakete bestellen, erwarten wir eine Echtzeitverfolgung. Wenn unsere Kreditkarte verdächtig verwendet wird, möchten wir es sofort wissen – nicht erst morgen. Als Kunden haben wir uns daran gewöhnt, dass Unternehmen Daten so schnell verarbeiten und darauf reagieren, wie das Leben passiert.
Diese Erwartung an Echtzeitverarbeitung, kombiniert mit einer explosionsartigen Zunahme des Datenvolumens – von IoT-Sensoren, die kontinuierlich Daten senden, bis hin zu Kunden, die über zahlreiche digitale Touchpoints interagieren –, stellt IT-Teams vor enorme Herausforderungen. Traditionelle, batch-orientierte Architekturen, die für die Verarbeitung am Ende des Tages konzipiert wurden, haben Schwierigkeiten, sich an diese neue Realität anzupassen, in der jede Sekunde zählt.
Besonders für etablierte Unternehmen mit komplexen Altsystemen ist es eine entscheidende Herausforderung, ihre Architektur so zu transformieren, dass sie Echtzeit-Datenströme verarbeiten kann, ohne die Systemzuverlässigkeit zu gefährden. Während monolithische Anwendungen in verteilte Services aufgebrochen werden, steigt die Komplexität erheblich. Teams müssen ihre Services unabhängig weiterentwickeln und gleichzeitig einen zuverlässigen Datenfluss im gesamten Unternehmen sicherstellen. Wie bleibt die Systemstabilität erhalten, wenn Dutzende von Services miteinander kommunizieren müssen? Wie können Teams Änderungen einführen, ohne andere Services zu beeinträchtigen? Und wie lassen sich riesige Datenströme zwischen Systemen handhaben, ohne ein unübersichtliches Netz aus Punkt-zu-Punkt-Integrationen zu erzeugen?
Apache Kafka bietet ein Architekturmodell, das diese Herausforderungen löst, indem es als zentrales Nervensystem für Daten dient. Es ist kein Zufall, dass laut der Kafka-Community über 80 % der Fortune-100-Unternehmen auf Kafka setzen, um genau diese Probleme zu bewältigen. Von der unabhängigen Weiterentwicklung von Services über die Vermeidung systemweiter Ausfälle durch asynchrone Kommunikation bis hin zur Transformation von batch-orientierten Systemen in Echtzeit-Datenströme – Kafka ist zum Rückgrat moderner verteilter Architekturen geworden.
Apache Kafka ist eine leistungsstarke, verteilte open-source Streaming-Plattform, die grundlegend verändert, wie Unternehmen ihre Datenströme verwalten. Im Kern fungiert Kafka als ein persistentes verteiltes Log aller Datenereignisse eines Unternehmens. Man kann es sich als eine zentrale Datendrehscheibe vorstellen, auf der jede bedeutende Information – von Kundeninteraktionen bis hin zu Systemstatusänderungen – zuverlässig gespeichert und nahezu in Echtzeit verarbeitet wird. Dieser Architekturansatz bietet mehrere entscheidende Vorteile:
Erstens ermöglicht Kafka durch die Persistenz von Datenströmen sowohl Echtzeitverarbeitung als auch eine zuverlässige Speicherung von Daten. Wenn ein Consumer-System ausfällt, kann es nahtlos dort weitermachen, wo es aufgehört hat. Wenn ein neuer Service historische Daten benötigt, kann er vergangene Ereignisse genauso einfach verarbeiten wie aktuelle.
Zweitens skaliert Kafka dank seiner verteilten Architektur horizontal, um enorme Datenmengen zu bewältigen und gleichzeitig fehlertolerant zu bleiben. Ein einzelnes kann Millionen von Ereignissen pro Sekunde verarbeiten und stellt sicher, dass keine Daten verloren gehen – selbst bei Teilausfällen des Systems.
Diese Fähigkeiten haben Kafka in zahlreichen Branchen unverzichtbar gemacht. Finanzinstitute nutzen es, um Millionen von Transaktionen in Echtzeit zu verarbeiten und gleichzeitig sicherzustellen, dass alle Systeme – von der Betrugserkennung bis zu Kundenbenachrichtigungen – synchron bleiben. Hersteller streamen Sensordaten von Tausenden von IoT-Geräten über Kafka, um vorausschauende Wartung und Echtzeitüberwachung zu ermöglichen. Einzelhändler setzen es für Lagermanagement und Auftragsabwicklung ein.
Apache Kafka realisiert dies durch ein – oder, wie es in der Kafka-Community genannt wird, ein . senden Nachrichten an bestimmte , und verarbeiten diese Nachrichten je nach Bedarf. Doch was Kafka von herkömmlichen Messaging-Systemen unterscheidet, ist seine Persistenzschicht: Daten, die in Kafka geschrieben werden, können über Stunden, Tage oder sogar Monate gespeichert und mehrfach gelesen werden.
Diese Persistenz, kombiniert mit Kafkas verteilter Architektur und seinem umfangreichen Ökosystem aus Tools wie und , hat Kafka weit über seine Ursprünge als hoch performantes Messaging-System bei LinkedIn hinausgehoben. Heute fungiert es als das zentrale Nervensystem für Unternehmensdaten.
Dieses Buch richtet sich an eine breite Zielgruppe von IT-Fachkräften, die ein fundiertes Verständnis von Apache Kafka und seiner Integration in bestehende IT-Infrastrukturen erlangen möchten. Unabhängig davon, ob die Lesenden in der IT-Architektur, Systemadministration, Entwicklung oder im Data Engineering tätig sind – dieses Buch bietet einen umfassenden Einstieg in Kafka.
Der Fokus dieses Buches liegt nicht auf einem Entwicklungshandbuch mit Dutzenden Java-Beispielen, sondern auf praxisnahen Einblicken und konkreten Anleitungen für den effektiven Einsatz von Kafka in verschiedenen Projekten. Ziel ist es, ein fundiertes Verständnis zu vermitteln, um Kafka für Datenstreaming und Echtzeitverarbeitung in unterschiedlichen IT-Umgebungen erfolgreich zu nutzen.
| 1.2 | Apache Kafka in Unternehmens-Architekturen |
Was meinen wir, wenn wir sagen, dass Kafka das zentrale Nervensystem für Daten sein kann? Die Vision ist, dass jedes Ereignis (wie in Bild 1.1 dargestellt), ein signifikantes Vorkommnis oder Vorfall innerhalb eines Unternehmens, das Daten erzeugt und wichtige Informationen enthält, in Kafka gespeichert wird. Im Kontext von Unternehmenssystemen und Kafka stellt ein Ereignis typischerweise verschiedene Aktivitäten, Änderungen oder Transaktionen dar, die in verschiedenen Bereichen der Organisation stattfinden, wie zum Beispiel Benutzerinteraktionen, Systemaktualisierungen, Finanztransaktionen oder andere relevante Geschäftsoperationen.
Im Kontext von ereignisgesteuerten Architekturen (Event Driven Architectures, EDA) und Kafka bezeichnet ein Ereignis oft ein Datenpaket, das die Details eines bestimmten Vorfalls, wie zum Beispiel einen Kauf oder eine Benutzeranmeldung, zusammenfasst und eine strukturierte Darstellung dieser Informationen bietet. Diese Ereignisse werden normalerweise von verschiedenen Komponenten oder Anwendungen im Unternehmen erzeugt und dann in einem Kafka-Topic veröffentlicht. Kafka-Topics dienen dazu, Datenströme zu organisieren. Anschließend können andere Systeme oder Anwendungen dieses Topic abonnieren, um die Ereignisse zu konsumieren und weiterzuverarbeiten, was den Echtzeit-Datenfluss und die Kommunikation zwischen verschiedenen Teilen der Unternehmens-Architektur ermöglicht.
Bild 1.1 Kafka als das zentrale Nervensystem für Daten in einem Unternehmen. Jedes Ereignis, das im Unternehmen stattfindet, wird in Kafka gespeichert. Andere Dienste können auf diese Ereignisse asynchron reagieren und sie weiterverarbeiten.
In vielen Unternehmen gibt es eine wachsende Trennung zwischen Legacy-Systemen, die für die aktuellen Geschäftsprozesse und Modelle unerlässlich sind, und neuen Systemen, die mit modernen Entwicklungsmethoden erstellt wurden. Die bezieht sich auf den Ansatz, innovative Dienste und Lösungen mithilfe agiler Methoden zu entwickeln. Während Kafka nicht unbedingt als Schnittstelle zwischen alten und neuen Systemen...




