Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Apache Kafka

Freelancer, Projekte, Experten und Wissen rund um Apache Kafka.

Kategorie

BigData

Einordnung

Apache Kafka Freelancer, Projekte, Experten und Wissen auf jobtic.com

Apache Kafka gehört zu den gefragtesten Kompetenzen im modernen IT-Projektmarkt. Unternehmen, Recruiter, Projektanbieter und Agenturen suchen kontinuierlich nach qualifizierten IT-Freelancern, Beratern, Entwicklern, Consultants, Administrators, Engineers und Spezialisten mit Erfahrung in Apache Kafka.

Auf jobtic.com finden Unternehmen und Freelancer eine moderne Plattform für IT-Projekte, Projektvermittlung, Freelancer-Profile, Experten-Suche, Projektakquise und berufliche Vernetzung rund um Apache Kafka und viele weitere Technologien, Tools, Systeme, Methoden und IT-Bereiche.

Wikipedia

Apache Kafka

Artikel öffnen

Apache Kafka ist eine freie Software der Apache Software Foundation, die insbesondere zur Verarbeitung von Datenströmen dient. Kafka ist dazu entwickelt, Datenströme zu speichern und zu verarbeiten, und stellt eine Schnittstelle zum Laden und Exportieren von Datenströmen zu Drittsystemen bereit. Die Kernarchitektur bildet ein verteiltes Transaktions-Log.

Ursprünglich wurde Apache Kafka von LinkedIn entwickelt. Seit 2012 ist es Teil der Apache Software Foundation. Im Jahr 2014 gründeten die Entwickler das Unternehmen Confluent aus LinkedIn heraus, welches die Weiterentwicklung von Apache Kafka fokussiert. Apache Kafka ist ein verteiltes System, das skalierbar und fehlertolerant und somit für Big-Data-Anwendungen geeignet ist. Ende 2025 hat IBM angekündigt, Mitte 2026 Confluent für 11 Mrd. USD zu erwerben.[6]

Den Namenszusatz Kafka erhielt es von Jay Kreps, neben Neha Narkhede und Jun Rao einer der Mitentwickler der Software. Er begründete die Namenswahl damit, dass Apache Kafka ein für das Schreiben optimiertes System sei, weswegen der Name eines Autors naheliegend gewesen sei, und da er Kafkas Werke mochte, wählte er diesen.[7]

Funktionsweise

Den Kern des Systems bildet ein Rechnerverbund (Cluster), bestehend aus sogenannten Brokern. Broker speichern Schlüssel-Wert-Nachrichten zusammen mit einem Zeitstempel in Topics. Topics wiederum sind in Partitionen aufgeteilt, welche im Kafka-Cluster verteilt und repliziert werden. Innerhalb einer Partition werden die Nachrichten in der Reihenfolge gespeichert, in der sie geschrieben wurden. Lese- und Schreibzugriffe umgehen den Arbeitsspeicher durch die direkte Anbindung der Festplatten mit dem Netzwerkadapter (zero copy), so dass weniger Kopiervorgänge vor dem Schreiben oder Versenden von Nachrichten nötig sind.[8][9]

Anwendungen, die Daten in einen Kafka-Cluster schreiben, werden als Producer bezeichnet, Anwendungen, die Daten von dort lesen, als Consumer. Zur Datenstromverarbeitung kann Kafka Streams verwendet werden. Kafka Streams ist eine Java-Bibliothek, die Daten aus Kafka liest, sie verarbeitet und die Ergebnisse nach Kafka zurück schreibt. Kafka kann auch mit anderen Stream-Verarbeitungssystemen verwendet werden. Ab der Version 0.11.0.0 wird „transaktionales Schreiben“ unterstützt, so dass garantiert werden kann, dass Nachrichten genau ein einziges Mal verarbeitet werden, wenn eine Anwendung Kafka Streams verwendet (exactly-once processing).

Kafka unterstützt zwei Arten von Topics: „normal“ und „compacted“ Topics. Normale Topics garantieren, Nachrichten für einen konfigurierbaren Zeitraum vorzuhalten oder einen gewissen Speicherbedarf nicht zu überschreiten. Liegen Nachrichten vor, die älter sind als die konfigurierte „retention time“, oder ist das Speicherlimit einer Partition überschritten, kann Kafka alte Nachrichten löschen, um Festplattenspeicher freizugeben. Standardmäßig speichert Kafka Nachrichten für 7 Tage, aber es ist auch möglich, Nachrichten für immer zu speichern. Neben „normal“ Topics bietet Kafka auch „compacted“ Topics an, die keiner Zeit- oder Platzlimitierung unterliegen. Stattdessen werden neuere Nachrichten als Aktualisierung („updates“) alter Nachrichten mit dem gleichen Schlüssel interpretiert. Dabei wird garantiert, dass die neueste Nachricht pro Schlüssel nie gelöscht wird. Nutzer können Nachrichten jedoch explizit löschen, indem sie eine Spezialnachricht (sog. tombstone) mit null-Wert für den entsprechenden Schlüssel schreiben.

Kafka bietet vier Hauptschnittstellen an:

Producer API
Für Anwendungen, die Daten in einen Kafka-Cluster schreiben wollen.
Consumer API
Für Anwendungen, die Daten aus einem Kafka-Cluster lesen wollen.
Connect API
Import/Export-Schnittstelle zur Anbindung von Drittsystemen.
Streams API
Java-Bibliothek zur Datenstromverarbeitung.

Die Consumer- und Producer-Schnittstellen basieren auf dem Kafka-Nachrichtenprotokoll und können als Referenzimplementierung in Java angesehen werden. Das eigentliche Kafka-Nachrichtenprotokoll ist ein binäres Protokoll und erlaubt es damit, Consumer- und Producer-Clients in jeder beliebigen Programmiersprache zu entwickeln. Damit ist Kafka nicht an das JVM-Ökosystem gebunden. Eine Liste mit verfügbaren Nicht-Java-Clients wird im Apache Kafka Wiki gepflegt.[10]

Kafka Connect API

Kafka Connect (oder Connect API) bietet eine Schnittstelle zum Laden/Exportieren von Daten aus/in Drittsysteme. Es ist ab Version 0.9.0.0 verfügbar und baut auf der Consumer- und der Producer-API auf. Kafka Connect führt sogenannte Konnektoren („connectors“) aus, welche die eigentliche Kommunikation mit dem Drittsystem übernehmen. Dabei definiert die Connect-API die Programmierschnittstellen, die von einem Connector implementiert werden müssen. Es gibt bereits viele frei verfügbare und kommerzielle Konnektoren, die genutzt werden können. Apache Kafka liefert selbst keine produktreifen Konnektoren.

Kafka Streams API

Kafka Streams (oder Streams API) ist eine Java-Bibliothek zur Datenstromverarbeitung und ist ab Version 0.10.0.0 verfügbar. Die Bibliothek ermöglicht es, zustandsbehaftete Datenstromverarbeitungsprogramme zu entwickeln, die sowohl skalierbar, flexibel als auch fehlertolerant sind. Dafür bietet Kafka Streams eine eigene domänenspezifische Sprache (DSL) an, die Operatoren zum Filtern, Abbilden (Mappen) oder Gruppieren enthält. Des Weiteren werden Zeitfenster, Joins, und Tabellen unterstützt. Ergänzend zur domänenspezifischen Sprache ist es auch möglich, eigene Operatoren in der Processor-API zu implementieren. Diese Operatoren können auch in der domänenspezifischen Sprache genutzt werden. Zur Unterstützung zustandsbehafteter Operatoren wird RocksDB verwendet. Dies erlaubt es, Operatorzustände lokal vorzuhalten und Zustände, die größer als der verfügbare Hauptspeicher sind, als RocksDB-Daten auf die Festplatte auszulagern. Um den Anwendungszustand verlustsicher zu speichern, werden alle Zustandsänderungen zusätzlich in einem Kafka-Topic protokolliert. Im Falle eines Ausfalls können alle Zustandsübergänge aus dem Topic ausgelesen werden, um den Zustand wiederherzustellen.

Kafka Operator für Kubernetes

Im August 2019 wurde ein Operator zum Aufbau einer Cloud-Native Kafka-Plattform mit Kubernetes veröffentlicht.[11] Dieser ermöglicht die Automatisierung der Bereitstellung von Pods der Komponenten des Kafka Ökosystems (ZooKeeper, Kafka Connect, KSQL, Rest Proxy), eine Überwachung von SLAs durch Confluent Control Center oder Prometheus, die flexible Skalierung von Kafka, sowie die Handhabung von Ausfällen und eine Automatisierung von Rolling Updates.[11]

Versions-Kompatibilität

Bis zur Version 0.9.0 sind Kafka-Broker mit älteren Client-Versionen rückwärtskompatibel. Ab Version 0.10.0.0 können Broker auch vorwärtskompatibel mit neuen Clients kommunizieren. Für die Streams-API beginnt diese Kompatibilität erst mit Version 0.10.1.0.

Literatur

  • Ted Dunning, Ellen M. D. Friedman: Streaming Architecture. New Designs Using Apache Kafka and MapR. O’Reilly Verlag, Sebastopol 2016, ISBN 978-1-4919-5392-1
  • Neha Narkhede, Gwen Shapira, Todd Palino: Kafka: The Definitive Guide. Real-time data and stream processing at scale. O’Reilly Verlag, Sebastopol 2017, ISBN 978-1-4919-3616-0
  • William P. Bejeck Jr.: Kafka Streams in Action. Real-time apps and microservices with the Kafka Streams API. Manning, Shelter Island 2018, ISBN 978-1-61729-447-1

Weblinks

Einzelnachweise

  1. github.com. (abgerufen am 16. Mai 2022).
  2. Release 4.3.0. 20. Mai 2026 (abgerufen am 22. Mai 2026).
  3. projects.apache.org. (abgerufen am 8. April 2020).
  4. github.com. 6. Juli 2025.
  5. The apache-kafka Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 16. Dezember 2018).
  6. IBM kauft Datenspezialisten Confluent für elf Mrd. Dollar. In: orf.at. 9. Dezember 2025, abgerufen am 9. Dezember 2025.
  7. Jay Kreps: What is the relation between Kafka, the writer, and Apache Kafka, the distributed messaging system? Quora, abgerufen am 9. März 2023.
  8. Alexander Neumann: Apache-Kafka-Entwickler erhalten 24 Millionen US-Dollar. In: heise Developer. Heise Medien GmbH & Co. KG, 9. Juli 2015, abgerufen am 21. Juli 2016.
  9. Thomas Joos: So analysieren Sie Logdateien mit Open Source Software. Realtime Analytics mit Apache Kafka. In: BigData Insider. Vogel Business Media GmbH & Co. KG, 24. August 2015, abgerufen am 21. Juli 2016.
  10. Kafka Clients support. In: Apache Kafka Wiki. Apache Software Foundation, 29. September 2020, abgerufen am 13. Januar 2021.
  11. a b Kafka-Operator für Kubernetes. Informatik Aktuell, 2. August 2019, abgerufen am 4. August 2019.
Wikipedia

Dieser Text basiert auf dem Artikel Apache Kafka aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Apache Kafka auf jobtic.com

BigData

Experten finden

jobtic.com verbindet IT-Freiberufler, Selbstständige, Consultants, Projektanbieter, IT-Dienstleister und Unternehmen in einer zentralen IT-Projektbörse für den deutschsprachigen Markt. Die Plattform unterstützt die Suche nach Apache Kafka Freelancern, Apache Kafka Projekten, Contracting-Einsätzen, Remote-Projekten, IT-Jobs, Interim-Rollen, technischen Experten und spezialisierten Beratern.

Chancen entdecken

Freelancer profitieren von einer professionellen Präsentation ihrer Expertise im Bereich Apache Kafka und erhalten Zugriff auf aktuelle Projektangebote, Projektanfragen und neue Karrierechancen im IT-Freelancer-Markt. Durch moderne Such- und Filterfunktionen lassen sich passende Projekte, Auftraggeber, Recruiter und Kontakte schnell identifizieren.

Wissen einordnen

Neben der Projekt- und Expertenplattform bietet jobtic.com umfangreiche Informationen, Hintergründe und Wiki-Inhalte rund um Apache Kafka. Dazu gehören Grundlagen, Definitionen, Einsatzbereiche, Entwicklungen, Versionen, Methoden, technische Zusammenhänge, Best Practices und aktuelle Marktinformationen zu Apache Kafka.

Vernetzung stärken

Unsere jobtic-Übersicht zu Apache Kafka kombiniert Wissensdatenbank, Projektbörse, Freelancer-Verzeichnis, Experten-Suche und Projektmarkt in einer zentralen Plattform. Besucher finden hier sowohl Informationen zu Apache Kafka als auch passende Freelancer, Berater, Entwickler, Consultants, Administratoren, Support-Spezialisten und aktuelle IT-Projekte mit Bezug zu Apache Kafka.

Kontakte aufbauen

jobtic.com unterstützt Freelancer und Unternehmen dabei, schneller passende Projekte, Experten und Geschäftskontakte im Bereich Apache Kafka zu finden. Egal ob Projektakquise, Expertenvermittlung, Freelancer-Suche, Contracting, IT-Consulting oder spezialisierte Projektbesetzung - jobtic.com bietet die passende Plattform für den modernen IT-Projektmarkt.

Zentral vernetzen

Wer nach Apache Kafka Freelancern, Apache Kafka Experten, Apache Kafka Projekten, Apache Kafka Beratern, Apache Kafka Consulting, Apache Kafka Contracting, Apache Kafka Projektbörse, Apache Kafka Freelancer-Profilen oder aktuellen Entwicklungen rund um Apache Kafka sucht, findet auf jobtic.com eine zentrale Anlaufstelle für Wissen, Projekte und professionelle Vernetzung im IT-Umfeld.

Passende Projekte zu Apache Kafka

Mehr Projekte

Projekte veröffentlichen

Unternehmen können Projekte mit Anforderungen, Laufzeiten, Technologien, Einsatzorten, Remote-Anteilen, Budgetrahmen und Projektbeschreibungen veröffentlichen. Gleichzeitig ermöglicht jobtic.com die gezielte Suche nach verfügbaren Apache Kafka Spezialisten mit passenden Erfahrungen, Branchenkenntnissen und technischen Fähigkeiten.