Anwendungsfälle von Apache Kafka: Innovation in verschiedenen Branchen vorantreiben

Junger Mann mit Virtual-Reality-Headset

Autor

Mesh Flinders

Staff Writer

IBM Think

Apache Kafka ist eine Open-Source-Plattform für verteiltes Streaming, die es Entwicklern ermöglicht, ereignisgesteuerte Anwendungen in Echtzeit zu erstellen. Mit Apache Kafka können Entwickler Anwendungen erstellen, die kontinuierlich Streaming-Datensätze nutzen und den Benutzern Echtzeit-Erlebnisse bieten.

Ob beim Abrufen des Kontostands, beim Streamen von Netflix oder beim Surfen auf LinkedIn – die Nutzer von heute erwarten von Apps ein nahezu Echtzeit-Erlebnis. Die ereignisgesteuerte Architektur von Apache Kafka wurde entwickelt, um Daten zu speichern und Ereignisse in Echtzeit zu übertragen. Damit ist sie sowohl ein Message Broker als auch eine Speichereinheit, die Echtzeit-Benutzererlebnisse in vielen verschiedenen Arten von Anwendungen ermöglicht.

Apache Kafka ist eines der beliebtesten Open-Source-Datenverarbeitungssysteme auf dem Markt. Es wird von fast 50.000 Unternehmen genutzt und hat einen Marktanteil von 26,7 %.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Wie funktioniert Apache Kafka?

Kafka ist ein verteiltes System, d. h. es handelt sich um eine Sammlung verschiedener Softwareprogramme, die Rechenressourcen über mehrere Knoten (Computer) hinweg gemeinsam nutzen, um ein einziges Ziel zu erreichen. Diese Architektur macht Kafka fehlertoleranter als andere Systeme, da es den Ausfall eines einzelnen Knotens oder Rechners im System verkraften kann und dennoch weiter funktioniert.

Unter den verteilten Systemen hat sich Apache als eines der besten Tools für den Aufbau von Microservice-Architekturen etabliert, einem cloudnativen Ansatz, bei dem eine einzelne Anwendung aus vielen kleineren, miteinander verbundenen Komponenten oder Diensten besteht. Neben cloudnativen Umgebungen verwenden Entwickler Apache Kafka auch auf Kubernetes, einer Open-Source-Plattform für die Container-Orchestrierung, um Anwendungen mit serverlosen Frameworks zu entwickeln.

Für Entwickler liegt ein wesentlicher Teil der Attraktivität von Apache in seiner einzigartigen Architektur. Apache verwendet ein Publish-Subscribe-Messaging-System, ein System mit sogenannter asynchroner Kommunikation, das es Entwicklern erleichtert, fortschrittliche, architektonisch komplexe Anwendungen zu erstellen. Die Architektur von Apache besteht aus drei Kategorien: Ereignisse, Produzenten und Konsumenten. Sie ist für ihre Funktion in hohem Maße auf Programmierschnittstellen (APIs) angewiesen.

Wichtige Kafka-Konzepte

Apache Kafka basiert auf vier grundlegenden Konzepten: Ereignisse, Streaming, Produzenten und Konsumenten. Im Folgenden wird das Zusammenspiel dieser Modelle erläutert, das Apache Kafka seine Kernfunktionen verleiht.

Ereignisse und Streaming

Wenn ein Benutzer mit einer Website interagiert, beispielsweise um sich für einen Dienst zu registrieren oder eine Bestellung aufzugeben, wird dies als „Ereignis“ bezeichnet. In der Apache-Architektur ist ein Ereignis jede Nachricht, die Informationen darüber enthält, was ein Benutzer getan hat. Wenn sich beispielsweise ein Benutzer auf einer Website registriert hat, würde ein Ereignisdatensatz seinen Namen und seine E-Mail-Adresse enthalten.

Möglicherweise unterscheidet keine andere Funktion Apache Kafka stärker von anderen Architekturen des Datenspeichers als seine Fähigkeit, Ereignisse zu streamen – eine Funktion, die als „Event Streaming“ oder einfach „Streaming“ (und im Falle von Apache Kafka speziell als Kafka Streams) bezeichnet wird. Event-Streaming bezeichnet den Vorgang, bei dem Daten, die von Hunderten oder sogar Tausenden von Produzenten generiert werden, gleichzeitig über eine Plattform an Verbraucher gesendet werden.

Produzenten und Verbraucher

Ein „Produzent“ ist in der Apache-Kafka-Architektur alles, was Daten erstellen kann, beispielsweise ein Webserver, eine Anwendung oder Anwendungskomponente, ein Internet der Dinge (IoT), ein Gerät und viele andere. Ein „Verbraucher“ ist jede Komponente, die die vom Produzenten erstellten Daten benötigt, um zu funktionieren. In einer IoT-Anwendung könnten die Daten beispielsweise Informationen von mit dem Internet verbundenen Sensoren sein, wie beispielsweise ein Temperaturmesser oder ein Sensor in einem fahrerlosen Fahrzeug, der erkennt, dass sich eine Ampel geändert hat.

Die Architektur von Kafka ist so konzipiert, dass sie einen konstanten Zufluss von Ereignisdaten, die von Produzenten generiert werden, verarbeiten, genaue Aufzeichnungen über jedes Ereignis führen und einen kontinuierlichen Strom dieser Aufzeichnungen an Verbraucher veröffentlichen kann.

IBM® Kafka

Was ist Kafka?

Whitney Lee von IBM® Cloud erklärt, wie Apache Kafka, eine Open Source-Plattform für verteiltes Streaming, Entwicklern die Entwicklung von Anwendungen ermöglicht, die Event Streams nutzen, um Anwendungen mit hoher Leistung zu erstellen.

Anwendungsfälle für Apache Kafka

Die Kernfunktion von Apache Kafka, die Echtzeit-Datenverarbeitung, hat in vielen Branchen neue Möglichkeiten für die Funktionsweise von Anwendungen eröffnet. Mit Kafka erkunden Unternehmen neue Wege, um Streaming-Daten zu nutzen, um ihren Umsatz zu steigern, die digitale Transformation voranzutreiben und ihren Kunden ein angenehmes Erlebnis zu bieten. Hier sind einige der markantesten Beispiele.

Internet der Dinge (IoT)

Das Internet der Dinge (IoT), ein Netzwerk von Geräten, die mit Sensoren ausgestattet sind, mit denen sie Daten über das Internet sammeln und austauschen können, stützt sich in hohem Maße auf die Apache-Kafka-Architektur. Beispielsweise nutzen Sensoren, die an eine Windkraftanlage angeschlossen sind, IoT-Funktionen, um Daten wie Windgeschwindigkeit, Temperatur und Luftfeuchtigkeit über das Internet zu übertragen. In dieser Architektur fungiert jeder Sensor als Produzent, der jede Sekunde Daten generiert, die zur Verarbeitung an einen Backend-Server oder eine Datenbank, den Konsumenten, gesendet werden.

Die Kafka-Architektur ermöglicht diese Übertragung und den Empfang von Daten sowie deren Verarbeitung in Echtzeit, sodass Wissenschaftler und Ingenieure Wetterbedingungen aus einer Entfernung von Hunderten oder Tausenden von Kilometern verfolgen können. Die Funktionen von Apache zur Protokollierung und Nachrichtenwarteschlange gewährleisten die Qualität und Genauigkeit der erfassten Daten.

Finanzdienstleistungen

So wie Apache die Erfassung von Daten über IoT-Geräte ermöglicht, die in Echtzeit an Verbraucher gestreamt werden können, ermöglicht es auch die Erfassung und Analyse von Informationen aus dem Aktienmarkt.

Apache wird für zahlreiche geschäftskritische, umfangreiche Workloads eingesetzt, die für den Aktienhandel und die Überwachung der Finanzmärkte von entscheidender Bedeutung sind. Einige der weltweit größten Banken und Finanzinstitute, darunter PayPal, ING und JP Morgan Chase, nutzen es für Echtzeit-Datenanalysen, Finanzbetrugserkennung, das Risikomanagement im Bankgeschäft, die Einhaltung gesetzlicher Vorschriften, Marktanalysen und vieles mehr.

Einzelhandel

Online-Händler und E-Commerce-Websites müssen täglich Tausende von Bestellungen über ihre App oder Website bearbeiten, und Kafka spielt für viele Unternehmen eine zentrale Rolle dabei, dies zu ermöglichen. Reaktionszeit und Kundenbeziehungsmanagement (CRM) sind entscheidend für den Erfolg im Einzelhandel. Daher ist es von großer Bedeutung, dass Bestellungen schnell und präzise bearbeitet werden.

Kafka vereinfacht die Kommunikation zwischen Kunden und Unternehmen, indem es mithilfe seiner Datenpipeline Ereignisse präzise aufzeichnet, Bestellungen und Stornierungen protokolliert und alle relevanten Parteien in Echtzeit benachrichtigt. Zusätzlich zur Bearbeitung von Bestellungen generiert Kafka präzise Daten, die analysiert werden können, um die Geschäftsleistung zu bewerten und wertvolle Erkenntnisse zu gewinnen.

Gesundheitswesen

Die Gesundheitsbranche nutzt Kafka, um Krankenhäuser mit wichtigen elektronischen Gesundheitsakten (EHR) und vertraulichen Patientendaten zu verbinden. Kafka ermöglicht eine bidirektionale Kommunikation, die Gesundheits-Apps unterstützt, die auf Daten basieren, die in Echtzeit von verschiedenen Quellen generiert werden. Die Funktionen von Kafka ermöglichen auch den Austausch von Wissen in Echtzeit, beispielsweise über die Allergie eines Patienten gegen ein bestimmtes Medikament, was Leben retten kann.

Kafka hilft Ärzten nicht nur dabei, Echtzeitdaten zu erhalten, die ihnen Aufschluss über die Behandlung ihrer Patienten geben, sondern ist auch für die medizinische Forschung von entscheidender Bedeutung. Seine Datenspeicher- und Analysefunktionen helfen Forschern dabei, medizinische Daten nach Erkenntnissen über Krankheiten und die Patientenversorgung zu durchsuchen und so medizinische Durchbrüche zu beschleunigen.

Telekommunikation

Telekommunikationsunternehmen nutzen Apache für eine Vielzahl von Diensten. In erster Linie wird die Echtzeit-Datenstromverarbeitung zur Überwachung der Netzwerke eingesetzt, die Millionen von drahtlosen Geräten weltweit versorgen. Apache sammelt Daten zum Netzwerkbetrieb, die in Echtzeit an Server übertragen werden, die diese kontinuierlich auf mögliche Probleme hin analysieren. Zu den Aufzeichnungen, die Apache für Telekommunikationsunternehmen speichert, gehören Anrufe, Textnachrichten, Kundendaten, Nutzungsdaten, unterbrochene Anrufe und vieles mehr.

Gaming

Die aktuell modernsten Gaming-Plattformen basieren auf Echtzeitkommunikation zwischen Spielern, die Hunderte oder sogar Tausende von Kilometern voneinander entfernt sind. Wenn es in einem Spiel, in dem die Reaktionszeit der Spieler entscheidend für den Erfolg ist, zu Verzögerungen kommt, leidet die Leistung darunter. Darüber hinaus boomt die Gaming-Branche in letzter Zeit, wächst mit einer durchschnittlichen jährlichen Wachstumsrate (CAGR) von 13,4 % und erhöht die Kontrolle ihrer wichtigsten Metriken.

Apache ermöglicht die blitzschnelle Kommunikation und Interaktion zwischen Spielern, die beliebte, hyperrealistische Gaming-Ökosysteme so beliebt macht. Neue Spiele nutzen die Echtzeit-Streaming-Fähigkeiten von Apache sowie seine Echtzeit-Analyse- und Datenspeicherfunktionen. Darüber hinaus unterstützt die Streaming-Pipeline von Apache die Spieler dabei, sich gegenseitig in Echtzeit zu verfolgen, indem sie sicherstellt, dass die Bewegungen der Spieler sofort an andere Spieler übertragen werden. 

Vorteile von Apache Kafka

Entwickler und Ingenieure bei einigen der größten und modernsten Unternehmen der Welt nutzen Apache, um zahlreiche Echtzeit-Geschäftsanwendungen zu erstellen. Apache Kafka ist die Grundlage für Anwendungen, die in der Finanzbranche, bei Online-Shopping-Giganten, auf Musik- und Video-Streaming-Plattformen, bei innovativen Videospielentwicklern und in vielen weiteren Bereichen zum Einsatz kommen. Die Entwicklung mit Kafka bietet gegenüber anderen Plattformen zahlreiche Vorteile. Nachfolgend sind einige der wichtigsten Vorteile aufgeführt.

Geschwindigkeit

Das Datenverarbeitungssystem von Kafka nutzt APIs auf einzigartige Weise, um die Datenintegration in viele andere Datenbankspeicherdesigns zu optimieren, wie beispielsweise die gängigen SQL- und NoSQL-Architekturen, die für die Analyse von Big Data eingesetzt werden.

Skalierbarkeit

Kafka wurde entwickelt, um Probleme mit hoher Latenzzeit bei der Batch-Warteschlangenverarbeitung auf einigen der weltweit meistbesuchten Websites zu lösen. Es verfügt über eine sogenannte elastische, Multi-Cluster-Skalierbarkeit, die es ermöglicht, Workflows über mehrere Kafka-Cluster hinweg bereitzustellen, anstatt nur über einen einzigen, was eine größere Skalierbarkeit, einen hohen Durchsatz und eine geringe Latenz ermöglicht.

Konnektivität

Apache Connect, ein Daten-Streaming-Tool, verfügt über 120 vorgefertigte Konnektoren, die die Integration von Apache mit den gängigsten Backend-Datenspeichern ermöglichen, darunter AWS Amazon S3, MongoDB, Google BigQuery, ElasticSearch, Azure, DataDog und weitere. Entwickler, die Apache verwenden, können die Anwendungsentwicklung beschleunigen und dabei alle Anforderungen ihres Unternehmens erfüllen.

Speicher und Verfolgung

Da einige der größten und anspruchsvollsten Websites der Welt Apache verwenden, muss es in der Lage sein, Benutzeraktivitäten schnell und genau zu protokollieren, um Störungen zu vermeiden. Apache zeichnet häufige Ereignisse wie Benutzerregistrierungen, Seitenaufrufe, Käufe und andere Informationen im Zusammenhang mit der Verfolgung von Website-Aktivitäten in Echtzeit auf. Anschließend gruppiert es die Daten nach Themen und speichert sie in einem verteilten Netzwerk, um einen schnellen und einfachen Zugriff zu ermöglichen.

Messaging

Apache empfängt und speichert Nachrichten in einer Warteschlange, einem Container, der zum Speichern und Übertragen von Nachrichten verwendet wird. Der Container verbindet die Nachrichten mit Verbraucheranwendungen und dem Benutzer. Apache ist ähnlich wie andere beliebte Message Broker, beispielsweise RabbitMQ, aufgebaut. Im Gegensatz zu Rabbit und diesen anderen Brokern unterteilt es seine Nachrichten jedoch mithilfe eines Nachrichtenschlüssels, der zum Filtern von Nachrichten nach Relevanz verwendet werden kann, in Kafka-Themen.

Datenverarbeitung

Eine der überzeugendsten Eigenschaften von Apache ist seine Fähigkeit, Ereignisdaten in Echtzeit zu erfassen und zu speichern. Andere beliebte Echtzeit-Datenpipelines müssen in einem sogenannten geplanten Batch ausgeführt werden, einem Datenbatch, der nur zu einem vorab festgelegten Zeitpunkt verarbeitet werden kann. Das Design von Apache ermöglicht die Verarbeitung von Daten in Echtzeit und damit den Einsatz von Technologien wie IoT, Analytik und anderen, die auf Echtzeit-Datenverarbeitung angewiesen sind.

Mehr erfahren

Apache Kafka wurde entwickelt, um Daten zu speichern und Ereignisse in Echtzeit zu übertragen, wodurch dynamische Benutzererfahrungen über eine Vielzahl von Anwendungen hinweg ermöglicht werden. BM Event Streams unterstützt Unternehmen bei der Optimierung von Kafka mit einer Open-Source-Plattform, die entweder als vollständig verwalteter Service auf IBM Cloud oder lokal als Teil von Event Automation bereitgestellt werden kann.

Blick von oben auf einen Mann, der auf einer Bank sitzt

Erkenntnisse, die Sie sich nicht entgehen lassen sollten. Abonnieren Sie unsere Newsletter.

Gehen Sie über den Hype hinaus mit Expertennachrichten zu KI, Quantencomputing, Cloud, Sicherheit und vielem mehr.

Abonnieren Sie noch heute
Weiterführende Lösungen
IBM Event Streams

IBM® Event Streams ist eine Event-Streaming-Software, die auf der Open-Source-Software Apache Kafka basiert. Es ist als vollständig verwalteter Service in der IBM® Cloud oder zum Selbsthosten verfügbar.

Event Streams erkunden
Integrationssoftware und -lösungen

Erschließen Sie Ihr Geschäftspotenzial mit IBM Integrationslösungen, die Anwendungen und Systeme für den schnellen und sicheren Zugriff auf wichtige Daten verbinden.

Erkunden Sie Integrationslösungen
Cloud-Beratungsleistungen

Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services.

Erkunden Sie Cloud-Beratungsleistungen
Machen Sie den nächsten Schritt

IBM® Event Streams ist eine Event-Streaming-Software, die auf der Open-Source-Software Apache Kafka basiert. Es ist als vollständig verwalteter Service in der IBM® Cloud oder zum Selbsthosten verfügbar.

Event Streams erkunden Weitere Informationen erhalten