Apache Kafka (Kafka) ist eine verteilte Open-Source-Streaming-Plattform, die (unter anderem) die Entwicklung ereignisgesteuerter Echtzeitanwendungen ermöglicht. Was bedeutet das also?
Heutzutage erzeugen Milliarden von Datenquellen kontinuierlich Ströme von Datensätzen, einschließlich Ereignisströme. Ein Ereignis ist eine digitale Aufzeichnung einer Maßnahme und des Zeitpunkts, zu dem sie stattgefunden hat. Typischerweise ist ein Ereignis eine Maßnahme, die eine andere Maßnahme als Teil eines Prozesses auslöst. Ein Kunde, der eine Bestellung aufgibt, einen Flug reserviert oder ein Anmeldeformular ausfüllt, all das sind Beispiele für Ereignisse. An einem Ereignis muss keine Person beteiligt sein. Die Meldung eines angeschlossenen Thermostats über die Temperatur zu einem bestimmten Zeitpunkt ist beispielsweise auch ein Ereignis.
Diese Streams bieten Möglichkeiten für Anwendungen, die in Echtzeit auf Daten oder Ereignisse reagieren. Eine Streaming-Plattform ermöglicht es den Entwicklern, Anwendungen zu erstellen, die diese Ströme kontinuierlich und mit extrem hoher Geschwindigkeit verarbeiten, und zwar mit einem hohen Maß an Genauigkeit, das auf der richtigen Reihenfolge ihres Auftretens beruht.
LinkedIn entwickelte Kafka in 2011 als Nachrichtenbroker mit hohem Durchsatz für den eigenen Gebrauch und stellte Kafka dann der Apache Software Foundation zur Verfügung. (Link führt zu Seite außerhalb von ibm.com). Heute hat sich Kafka zur am weitesten verbreiteten Streaming-Plattform entwickelt, die in der Lage ist, Billionen von Datensätzen pro Tag aufzunehmen und zu verarbeiten. Dabei kommt es bei der Skalierung der Datenmengen zu keiner spürbaren Leistungsverzögerung. Fortune-500-Organisationen wie Target, Microsoft, AirBnB und Netflix vertrauen auf Kafka, um ihren Kunden datengesteuerte Echtzeit-Erlebnisse zu bieten.
Das folgende Video bietet weitere Informationen über Kafka (9:10):