Anmelden / Registrieren Konto
Jump to section

Was ist Apache Kafka?

URL kopieren

Apache Kafka ist eine verteilte Data-Streaming-Plattform, mit der Sie Daten in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können. Mit ihr können Sie Datenströme aus mehreren Quellen handhaben und an verschiedene Kunden weiterleiten. Riesige Datenmengen lassen sich nicht nur von A nach B, sondern von A nach Z und überall dorthin übertragen, wo Sie Daten benötigen – und all das in Echtzeit.

Apache Kafka ist eine Alternative zu den traditionellen Enterprise-Messaging-Systemen. Ursprünglich wurde es als internes System entwickelt, um die 1,4 Billionen Nachrichten pro Tag von LinkedIn zu handhaben. Heute ist es eine Open Source-Lösung für Data Streaming, die für verschiedene Unternehmensanforderungen eingesetzt werden kann.

Microservices haben die Entwicklungslandschaft revolutioniert. Sie bieten Entwicklungs-Teams mehr Agilität, da Abhängigkeiten wie z. B. gemeinsame Datenbankebenen, reduziert werden. Die von Ihren Entwicklern erstellten verteilten Anwendungen müssen jedoch immer noch irgendwie integriert werden, damit die Daten gemeinsam genutzt werden können. Eine der beliebten Optionen, auch als synchrone Methode bekannt, nutzt APIs, damit Daten von unterschiedlichen Nutzern gemeinsam verwendet werden können.

Dann gibt es noch die asynchrone Variante, bei der Daten in einem Zwischenspeicher repliziert werden. Und genau hier kommt Apache Kafka ins Spiel. Damit lassen sich Daten von anderen Entwicklungs-Teams per Stream in den Datastore übertragen, von wo aus sie dann von allen Teams und ihren Anwendungen gemeinsam genutzt werden können.

Microservice-Teams haben bezüglich der Integration andere Anforderungen als Teams, die mit der traditionellen Wasserfallmethode arbeiten. Diese Teams benötigen drei grundlegende Funktionen:

  1. Verteilte Integrationen: Schlanke, musterbasierte Integrationen, die bedarfsabhängig und kontinuierlich bereitgestellt werden und nicht durch zentrale ESB-Implementierungen beschränkt sind.
  2. APIs: API-basierte Services, die ein Netzwerk aus Partnern, Kunden und Entwicklern unterstützen, das für eine zuverlässige und rentable Nutzung von Services sorgt.
  3. Container: Eine Plattform zur Entwicklung, Verwaltung und Skalierung cloudnativer und verbundener Anwendungen. Container ermöglichen die Entwicklung schlanker Artefakte, die einzeln bereitgestellt werden können, Teil von DevOps-Prozessen sind, durch Out-of-the-Box-Clustering unterstützt werden und eine hohe Verfügbarkeit gewährleisten.

Red Hat nennt diese Methode „agile Integration". Damit werden Integrationen Teil des Anwendungsentwicklungsprozesses und sorgen so für mehr Agilität und adaptive Lösungen. Teil der agilen Integration ist die Freiheit, je nach den spezifischen Anforderungen der Anwendung entweder die synchrone oder asynchrone Integration zu verwenden. Wenn Sie asynchrone event-gesteuerte Integrationen verwenden, ist Apache Kafka eine hervorragende Option, um synchrone Integrationen, APIs und Microservices verstärkt zu verwenden und so für eine agile Integration zu sorgen. So kann Apache Kafka Sie dabei unterstützen, den Entwicklungsprozess zu optimieren, Innovationen zu fördern, Zeit zu sparen und letztlich die Markteinführung für neue Features, Apps und Services zu beschleunigen.

Apache Kafka ist in Streaming-Pipelines integriert, die Daten gemeinsam zwischen Systemen und/oder Anwendungen nutzen, aber auch in diejenigen Systeme und Anwendungen, die diese Daten verbrauchen. Das Produkt unterstützt eine Reihe von Use Cases, bei denen ein hoher Durchsatz und beste Skalierbarkeit angestrebt werden. Da Sie mit Apache Kafka die Notwendigkeit für Punkt-zu-Punkt-Integrationen für die gemeinsame Datennutzung in bestimmten Anwendungen minimieren können, lassen sich auch Latenzzeiten auf Millisekunden reduzieren. Dies bedeutet, dass den Nutzern Daten schneller zur Verfügung gestellt werden, was in solchen Use Cases von Vorteil sein kann, die eine Datenverfügbarkeit in Echtzeit erfordern, wie z. B. IT-Operationen und E-Commerce.

Apache Kafka kann Millionen von Datenpunkten pro Sekunde handhaben und eignet sich so bestens für alle Herausforderungen von Big Data. Das Produkt kann aber auch für Unternehmen mit weniger extremen Datenszenarien sinnvoll sein. In vielen Use Cases rund um die Datenverarbeitung, wie z. B. beim Internet of Things (IoT) und bei sozialen Medien, steigt das Datenvolumen exponentiell an und kann schnell die Kapazitäten der auf Ihr aktuelles Datenvolumen zugeschnittenen Anwendungen sprengen. Bei der Datenverarbeitung müssen Sie die Skalierbarkeit im Auge behalten und stets für ein wachsendes Datenvolumen gerüstet sein.

 

IT-Operationen

Bei IT-Operationen dreht sich alles um Daten. Dort benötigt man ständigen und möglichst schnellen Datenzugriff. Denn nur so kann gewährleistet werden, dass Websites, Anwendungen und Systeme jederzeit korrekt und effizient ausgeführt werden. Apache Kafka eignet sich bestens für IT-Funktionen, die auf die Erfassung von Daten aus den verschiedensten Quellen angewiesen sind, z. B. bei Monitoring, Alarmen, Berichten, Protokollen und der Nachverfolgung des Website-Verkehrs.

Internet of Things

Laut Gartner wird das IoT bis zum Jahr 2020 mehr als 20 Milliarden Geräte umfassen. Der Wert des IoT misst sich an den verwertbaren Daten, die durch diese zahlreichen Sensoren generiert werden. Apache Kafka ist auf Skalierbarkeit ausgelegt, um die vom IoT erwarteten riesigen Datenvolumina handhaben zu können.

E-Commerce

Der E-Commerce bietet zunehmende Möglichkeiten zum Einsatz von Apache Kafka, das Daten wie Seiten-Klicks, Likes, Suchvorgänge, Bestellungen, Warenkörbe und Inventory verarbeiten kann.

Kubernetes ist die ideale Plattform für Apache Kafka. Entwicklungs-Teams benötigen eine skalierbare Plattform, um Kafka-Anwendungen hosten zu können – und Kubernetes ist die Antwort.

Wie Apache Kafka macht auch Kubernetes Ihren Entwicklungsprozess agiler. Kubernetes, die Technologie hinter den Cloud-Services von Google, ist ein Open Source-System zur Verwaltung containerisierter Anwendungen, mit dem sich viele manuelle, mit Containern verknüpfte Prozesse eliminieren lassen. Mit Apache Kafka in Kubernetes können Sie Deployment, Konfiguration, Management und Nutzung von Apache Kafka optimieren.

Indem Sie die beiden Technologien kombinieren, sichern Sie sich alle Vorteile von Kafka, aber auch von Kubernetes: Skalierbarkeit, Hochverfügbarkeit, Portierbarkeit und einfaches Deployment.

Die Skalierbarkeit von Kubernetes ist eine natürliche Ergänzung für Kafka. In Kubernetes können Sie Ressourcen über einen einfachen Befehl vertikal und horizontal oder aber verbrauchsabhängig automatisch skalieren und so Ihre Computing-, Networking- und Storage-Infrastruktur optimal nutzen. Mithilfe dieser Funktion kann Apache Kafka einen begrenzten Ressourcen-Pool mit anderen Anwendungen teilen. Mit Kubernetes kann Apache Kafka außerdem in verschiedene Infrastrukturanbieter und Betriebssysteme portiert werden. Mithilfe von Kubernetes können Apache Kafka-Cluster auf lokale, Public, Private oder Hybrid Clouds verteilt werden und unterschiedliche Betriebssysteme nutzen.

Kafka kostenlos testen

Nutzen Sie Red Hat OpenShift Streams for Apache Kafka, einen vollständig gehosteten und gemanagten Kafka-Service für streambasierte Anwendungen.

Integration mit Red Hat

Mit Red Hat erhalten Sie modulare, schlanke und umfassende Open Source-Integrationslösungen mit offenen Standards, die lokal oder in der Cloud verfügbar sind.

Ein gemanagter Cloud-Service, der eine optimierte Entwicklererfahrung für das Erstellen, Bereitstellen und Skalieren neuer cloudnativer Apps oder die Modernisierung vorhandener Systeme bietet.

Red Hat AMQ

Im Rahmen von Red Hat® AMQ bietet AMQ Streams Apache Kafka auf der Red Hat OpenShift® Container Platform an. AMQ Streams ist eine skalierbare, verteilte und hochleistungsfähige Streaming-Funktion, die auf dem Apache Kafka-Projekt basiert und auf Kubernetes ausgeführt wird.

Red Hat OpenShift

Entwickeln, implementieren, verwalten und skalieren Sie cloudnative Anwendungen mit Containern auf einer Container-Plattform. OpenShift kann all diese Anwendungen automatisch orchestrieren und ermöglicht zusammen mit Produkten wie AMQ, Fuse und 3scale API Management eine agile Integration in der Cloud.