Definition

Was ist Apache Kafka?

| Autor / Redakteur: Stefan Luber / 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

Big Data im Mittelpunkt

Nachbericht Big Data Paris 2019

Big Data im Mittelpunkt

Am 11. und 12. März öffneten sich die Pforten zu einem der traditionsreichsten Treffen der Big-Data-Szene: Big Data Paris. Diesjähriges Motto: „Accelerate the Future“. Zum achten Mal in Folge erörterten renommierte Branchenpersönlichkeiten wie Ted Dunning (CTO von MapR) mit kundigen Teilnehmern sowohl die Business-Aspekte als auch die technischen und ethischen Herausforderungen der Nutzung von Massendaten. lesen

Das kann Azure Databricks

Spark as a Service

Das kann Azure Databricks

Microsoft stellt mit Azure Databricks eine Analyseplattform in Microsoft Azure zur Verfügung, die auf der bekannten Analysesoftware Apache Spark aufbaut. Bei der Entwicklung der Plattform haben die Entwickler von Spark mitgearbeitet. lesen

Mit Apache Metron Big-Data-Projekte schützen

Open-Source-Security-Lösung Apache Metron

Mit Apache Metron Big-Data-Projekte schützen

Big-Data-Projekte sind nicht nur für Firmen interessant, sondern auch für Cyberkriminelle. Apache Metron ist ein Open-Source-Projekt für ein Security-Analytics-Framework. Die Lösung besteht aus Modulen zum Parsen, Normalisie­ren und Anreichern von Daten mit internen und externen Bedrohungsinformationen und soll Big-Data-Projekte vor unbefugtem Zugriff schützen. lesen

Datenbasis für das IoT-Zeitalter

Crate.io

Datenbasis für das IoT-Zeitalter

IT-Spezialisten haben über Jahrzehnte SQL-Know-how aufgebaut, doch das IoT-Zeitalter erfordert die massenweise Verarbeitung von Echtzeit-Datenstreams, die von Sensoren erzeugt werden. Crate.io vereinigt beide Welten. lesen

Was bringt das neue Jahr?

Red-Hat-Manager zu den Trends 2019

Was bringt das neue Jahr?

KI & ML, Edge Computing, Automatisierung und die Rolle der Telcos sind die Themenkomplexe, die DataCenter-Insider aus dem Fundus an Vorhersagen für 2019 aus dem Hause Red Hat ausgewählt hat, um einen Eindruck zu vermitteln, womit sich die Community beziehungsweise die Kundschaft des Unternehmens sich beschäftigt oder auch beschäftigen muss. lesen

Apache Kafka – von Big zu Fast Data

Open-Source-Streaming-Plattform

Apache Kafka – von Big zu Fast Data

Die verteilte Streaming-Plattform Apache Kafka wurde für ein schnelles Verarbeiten und Speichern von Billionen von Datenströmen pro Tag entwickelt. Gleichzeitig stellt sie eine Schnittstelle zum Laden und Exportieren von Datenströmen zu Drittsystemen bereit. lesen

Bologna im Zeichen von IoT Analytics und Smart Citys

Nachbericht Pentaho Community Meeting 2018

Bologna im Zeichen von IoT Analytics und Smart Citys

Auf dem Pentaho Community Meeting in Bologna, das zum elften Mal stattfand, tauschten sich über 220 User aus 25 Ländern zu IoT, Analytics, Machine Learning und Datenintegration aus, 27 Referenten stellten spannende Entwicklungen und Projekte vor. Organisiert wurde das Community-Meeting von Hitachi Vantara sowie dem deutschen Hitachi-Vantara-Partner IT-Novum. lesen

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

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)