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 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.

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.

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.

Weiterlesen

Artikel

Was ist Integration?

Sie möchten wissen, was Integration ist? Erfahren Sie alles über Integration, wie man sie einsetzt und warum sie in Verbindung mit Open Source noch viel wertvoller ist.

Artikel

Was ist Apache Kafka?

Apache Kafka ist eine verteilte Data-Streaming-Plattform, mit der Sie Daten in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können.

Artikel

Was ist eine API?

APIs (Application Programming Interfaces) bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Mehr über Integration erfahren

Produkte

Red Hat® Integration umfasst diverse Integrations- und Messaging-Technologien für die Daten- und Anwendungsintegration in Hybrid Cloud-Umgebungen. Es enthält Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, Erfassung von Änderungsdaten und Service-Registry. 

Red Hat Runtimes umfasst eine Reihe von Produkten, Tools und Komponenten, mit denen cloudnative Anwendungen entwickelt und gewartet werden können. Es enthält Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, Red Hat build of OpenJDK, Red Hat build of Quarkus, Cloudnative Runtimes, Red Hat Migration Toolkit für Anwendungen, Single Sign-On (SSO) und Launcher-Service.

Red Hat Application Foundations umfasst zahlreiche Integrations- und Runtimes Technologien, um die Entwicklung, Bereitstellung und Nutzung von Anwendungen sicher und in großem Umfang in der Hybrid Cloud zu unterstützen.

Gehostete und gemanagte Plattform-, Anwendungs- und Datenservices, die das Hybrid Cloud-Erlebnis optimieren und die Betriebskosten sowie die Komplexität der Bereitstellung cloudnativer Anwendungen verringern.

Ressourcen

E-Book

Agile Integration: Ein Blueprint für die Unternehmensarchitektur

Training

Kostenloser Trainingskurs

Red Hat Agile Integration Technical Overview