Definition

Was ist Apache Kafka?

| Autor / Redakteur: Tutanch / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Apache Kafka ist eine Open Source Software, die die Speicherung und Verarbeitung von Datenströmen über eine verteilte Streaming-Plattform ermöglicht. Sie stellt verschiedene Schnittstellen bereit, um Daten in Kafka-Cluster zu schreiben, Daten zu lesen oder in und aus Drittsysteme zu importieren und zu exportieren.

Apache Kafka wurde ursprünglich als Nachrichten-Queue von LinkedIn entwickelt. Die Open Source Software hat sich als Projekt der Apache Software Foundation zu einer leistungsfähigen Streaming-Plattform mit großem Funktionsumfang weiterentwickelt.

Mithilfe von Apache Kafka lassen sich Datenströme speichern und verarbeiten. Das System basiert auf einer verteilten Architektur, die für eine hohe Fehlertoleranz und Skalierbarkeit optimiert ist. Dadurch eignet sich Apache Kafka für große Datenmengen und Anwendungen im Big-Data-Umfeld.

Über bereitgestellte Schnittstellen ist es möglich, Datenströme von Drittsystemen zu laden oder zu diesen Systemen zu exportieren. Die Kernkomponente des Systems bildet ein verteiltes Commit- beziehungsweise Transaktions-Log. Vorteile von Apache Kafka sind geringe Latenzen, hoher Durchsatz und die Möglichkeit, Echtzeit-Streams zu verarbeiten.

Grundfunktionen von Apache Kafka

Apache Kafka löst die Probleme, die entstehen, wenn Datenquellen und Datenempfänger direkt verbunden werden. Beispielsweise ist es bei der Direktverbindung der Systeme nicht möglich, Daten zwischenzuspeichern, wenn der Empfänger nicht verfügbar ist. Zudem kann ein Sender den Empfänger überlasten, wenn er schneller Daten sendet, als der Empfänger diese entgegennimmt und verarbeitet.

Apache Kafka agiert als Messaging-System zwischen dem Sender und dem Empfänger. Im Gegensatz zu einer reinen Nachrichten-Queue arbeitet Apache Kafka fehlertolerant und ist extrem skalierbar. Das System ist durch sein verteiltes Transaktions-Log in der Lage, Daten zu speichern und mit hoher Verfügbarkeit bereitzustellen. Direkt beim Eintreffen der Daten lassen sich diese in hoher Geschwindigkeit verarbeiten. Daten sind in Echtzeit aggregierbar.

Die Architektur von Apache Kafka

Die Architektur von Apache Kafka besteht aus einem Cluster-Rechnerverbund. In diesem Rechnerverbund speichern sogenannte Broker Nachrichten mit einem Zeitstempel. Diese Informationen nennen sich Topics. Die gespeicherten Informationen werden im Cluster repliziert und verteilt. Als Producer werden Anwendungen bezeichnet, die Nachrichten oder Daten in einen Kafka-Cluster schreiben. Consumer sind Anwendungen, die Daten des Kafka-Clusters lesen. Zusätzlich steht eine Java-Bibliothek mit der Bezeichnung Kafka-Streams zur Verfügung, die Daten aus dem Cluster liest, sie verarbeitet und die Ergebnisse in den Cluster zurückschreibt.

Kafka unterscheidet zwischen „Normal Topics“ und „Compacted Topics“. Normal Topics werden für einen gewissen Zeitraum gespeichert und dürfen eine definierte Speichergröße nicht überschreiten. Sind Zeitraum oder Speicherlimit überschritten, darf Apache Kafka alte Nachrichten löschen. Compacted Topics unterliegen weder einer Zeitbeschränkung noch einer Speicherplatzlimitierung.

Die Schnittstellen von Apache Kafka

Insgesamt bietet Apache Kafka diese vier Hauptschnittstellen (APIs – Application Programming Interfaces):

  • Producer API
  • Consumer API
  • Streams API
  • Connect API

Die Producer API erlaubt Anwendungen das Schreiben von Daten oder Nachrichten in einen Kafka-Cluster. Über die Consumer API lassen sich die Daten eines Kafka-Clusters auslesen. Producer und Consumer API verwenden das Kafka-Nachrichtenprotokoll. Es handelt sich um ein binäres Protokoll. Prinzipiell ist die Entwicklung von Producer- und Consumer-Clients in beliebigen Programmiersprachen möglich.

Bei der Streams API handelt es sich um eine Java-Bibliothek. Sie ist in der Lage, Datenströme zustandsbehaftet und fehlertolerant zu verarbeiten. Über bereitgestellte Operatoren ist das Filtern, Gruppieren und Zuordnen von Daten möglich. Zusätzlich lassen sich eigene Operatoren in die API integrieren. Die Streams API unterstützt Tabellen, Joins und Zeitfenster. Die zuverlässige Speicherung der Anwendungszustände ist durch die Protokollierung aller Zustandsänderungen in Kafka Topics sichergestellt. Tritt ein Ausfall auf, lässt sich der Anwendungszustand durch das Auslesen der Zustandsänderungen aus dem Topic wiederherstellen.

Die Kafka Connect API stellt die Schnittstellen zum Laden und Exportieren von Daten aus beziehungsweise in Drittsysteme zur Verfügung. Sie basiert auf den Producer und Consumer APIs. Die Kommunikation mit den Drittsystemen übernehmen spezielle Konnektoren. Um Drittsysteme verschiedener Hersteller mit Apache Kafka zu verbinden, existieren zahlreiche kommerzielle oder freie Konnektoren.

Anwendungsbereiche von Apache Kafka

Apache Kafka bietet vielfältige Einsatzmöglichkeiten. Typische Anwendungsbereiche sind:

  • Tracking von Aktivitäten auf Webseiten in Echtzeit
  • Überwachung von verteilten Anwendungen
  • Aggregation von Log-Dateien verschiedener Quellen
  • Synchronisierung von Daten in verteilten Systemen

Ein weiteres wichtiges Anwendungsgebiet für Apache Kafka ist das maschinelle Lernen. Apache Kafka unterstützt beim Machine Learning unter anderem:

  • Das Trainieren von Modellen in Echtzeit,
  • das Ableiten analytischer Modelle in Echtzeit sowie
  • das Überwachen und Analysieren.

Beispiele für Anwendungen des Machine Learnings sind die Betrugserkennung durch Verknüpfung von Echtzeit-Zahlungsinformationen mit historischen Daten und Mustern, das Cross Selling durch maßgeschneiderte, kundenspezifische Angebote auf Basis aktueller, historischer oder standortbezogener Daten oder die vorausschauende Wartung durch die Analyse von Maschinendaten.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

MapR startet Clarity-Programm

Plattform weiter ausgebaut

MapR startet Clarity-Programm

Das Clarity-Programm von MapR umfasst ein neues Produktrelease der KI- und Analyseplattform des Anbieters. Zudem bietet es eine Möglichkeit zur kostenlosen Evaluierung der jeweiligen Dateninfrastruktur. lesen

Tibco Software stellt Spotfire X vor

Update für Analytics-Plattform

Tibco Software stellt Spotfire X vor

Ab sofort ist Tibcos Analyse- und Visualisierungslösung Spotfire X verfügbar. Das Update ermöglicht die Darstellung und Auswertung von Echtzeit- und historischen Daten in ein und derselben Umgebung. lesen

Alexa spricht Splunk

Nachbericht Splunk .conf 2018

Alexa spricht Splunk

Splunk, ein Spezialist für die Analyse von Maschinendaten, adressiert eine breitere Nutzerschicht, nämlich die Mitarbeiter in den Fachbereichen. Zahlreiche neue Funktionen, wie etwa mobile Apps und Sprachausgabe, sollen ihnen das Leben erleichtern. Neben zahlreichen Neuerungen in den Kernprodukten stellte Splunk seine eigene IIoT-Plattform für Industrie 4.0 vor. lesen

Tibco aktualisiert BI-Flaggschiff Spotfire

Nachbericht Tibco Now 2018

Tibco aktualisiert BI-Flaggschiff Spotfire

Tibco Software, ein Spezialist für Daten- und Prozessintegration sowie von Big Data Analytics, hat auf seiner internationalen Anwenderkonferenz Tibco Now in Las Vegas zahlreiche Neuheiten für seine Flaggschiffprodukte präsentiert. Zudem vertieft der Pionier des Informationsbusses seine Kooperation mit Partnern wie AWS und treibt seine IoT-Angebote voran. lesen

Integration zwischen GridGain und Kafka

Fit für die digitale Transformation

Integration zwischen GridGain und Kafka

GridGain Systems, Anbieter von In-Memory-Computing-Lösungen, hat einen von Confluent zertifizierten Konnektor für Apache Kafka vorgestellt. lesen

Hortonworks stellt Streams Messaging Manager vor

Für Kafka-Umgebungen

Hortonworks stellt Streams Messaging Manager vor

Parallel zur Veröffentlichung eines Updates für „Dataflow“ hat Hortonworks den „Streams Messaging Manager“ präsentiert. Die Monitoring-Plattform soll „Kafka“-Nutzern die Arbeit erleichtern. lesen

Splunk erweitert gesamtes Produktangebot um KI

Zahlreiche neue Versionen veröffentlicht

Splunk erweitert gesamtes Produktangebot um KI

Der Maschinendaten-Spezialist Splunk hat im Rahmen von Updates sein gesamtes Produktsortiment mit neuen oder erweiterten Fähigkeiten zur Nutzung Künstlicher Intelligenz (KI) ausgestattet. lesen

Intel Big Data Analytics Platforms im Überblick

Aufeinander abgestimmte Hard- und Software

Intel Big Data Analytics Platforms im Überblick

Geht es um Big-Data-Analysen, müssen Unternehmen auf leistungsstarke Hardware setzen, die optimal mit der Analyse-Software zusammenarbeitet. Hier gibt es verschiedene Anbieter, mit denen Intel kooperiert. lesen

So funktioniert die Open Source IoT Data Platform DeviceHive

Internetfähige Geräte steuern

So funktioniert die Open Source IoT Data Platform DeviceHive

DeviceHive ist eine der bekanntesten Lösungen, um internetfähige Geräte in IoT-Umgebungen zentral zu integrieren. Mit der Cloud-basierten Lösung können Smart-Home-Geräte und Sensoren automatisiert werden. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45531650 / Definitionen)