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 Daten-Streams 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 standortunabhängig dorthin übertragen, wo Sie Daten benötigen – und 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.

Mehr erfahren über Streams for Apache Kafka 

Warum Apache Kafka auf Kubernetes?

Microservices haben die Entwicklungslandschaft revolutioniert. Sie bieten Entwicklerinnen und Entwicklern mehr Agilität, da Abhängigkeiten, wie etwa gemeinsame Datenbankebenen, reduziert werden. Die von Ihren Entwicklungsteams erstellten verteilten Anwendungen müssen jedoch immer noch irgendwie integriert werden, damit die Daten gemeinsam genutzt werden können. Eine beliebte Integrationsoption, auch als synchrone Methode bekannt, nutzt APIs, damit Daten von unterschiedlichen Nutzenden 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 Entwicklungsteams per Stream in den Datastore übertragen, von wo aus sie dann von den verschiedenen 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 3 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 Entwicklungsteams 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 bieten.

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.

Red Hat Ressourcen

Apache Kafka ist in Data-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 gute 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. Das heißt, dass den Nutzerinnen und 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 etwa IT-Operationen und E-Commerce.

Apache Kafka kann Millionen von Datenpunkten pro Sekunde handhaben und eignet sich so bestens für die verschiedenen 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 etwa 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 dafür Sorge getragen werden, dass Websites, Anwendungen und Systeme jederzeit korrekt und effizient ausgeführt werden. Apache Kafka ist gut für IT-Operationsfunktionen geeignet, die auf der Erfassung von Daten aus verschiedenen Quellen basieren, wie etwa bei Monitoring, Alarmen, Berichten, Protokollmanagement und der Nachverfolgung von Website-Aktivitäten.

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 Datenvolumen handhaben zu können.

E-Commerce

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

Kubernetes ist die ideale Plattform für Apache Kafka. Entwicklungsteams 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 sämtliche Vorteile von Kafka, aber auch von Kubernetes: Skalierbarkeit, Hochverfügbarkeit, Portierbarkeit und einfaches Deployment.

Die Skalierbarkeit von Kubernetes ist eine natürliche Ergänzung zu 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 zu verschiedenen Infrastrukturanbietern und Betriebssystemen portiert werden. Mithilfe von Kubernetes können Apache Kafka-Cluster auf Onsite- und Public, Private oder Hybrid Cloud-Infrastrukturen verteilt werden und unterschiedliche Betriebssysteme nutzen.

Mehr erfahren über Apache Kafka auf Kubernetes

Hub

Der offizielle Red Hat Blog

Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.

Red Hat Testversionen

Unsere kostenlosen Testversionen unterstützen Sie dabei, praktische Erfahrungen zu sammeln, sich auf eine Zertifizierung vorzubereiten oder zu bewerten, ob ein Produkt die richtige Wahl für Ihr Unternehmen ist.

Weiterlesen

Ansible im Vergleich zu Chef: Was Sie wissen müssen

Automatisierungstools: Chef vs. Ansible. Passt Ansible oder Chef besser zu Ihren IT-Anforderungen? Ähnlichkeiten und Unterschiede von Ansible und Chef im Detail

Automatisierungstools: Ansible, Terraform, Puppet, Chef, Salt

Red Hat Ansible Automation Platform und andere Tools unterstützen Unternehmen bei der Automatisierung von IT-Prozessen. Funktionen und Unterschiede erklärt

Vergleich von Linux-Distributionen – Welche ist die beste?

Eine Linux Distro ist ein installierbares Betriebssystem, das auf Linux-Kernel basiert und Benutzerprogramme und Repositories unterstützt. Vorteile von RHEL

Ressourcen zu Open Source

Verwandte Artikel