Was ist Event Streaming?

Abstrakte Formen aus einem modernen Architekturgebäude

Was ist Event Streaming?

Event Streaming ist die Praxis, Echtzeitdaten von Anwendungen, Datenbanken und IoT-Geräten zu erfassen und sie zur sofortigen Verarbeitung und Speicherung oder für Analysen und Analyseberichte in Echtzeit an verschiedene Ziele zu übertragen.

Als Schlüsselfunktion der Ereignisstromverarbeitung (Event Stream Processing, ESP) ermöglicht Event Streaming IT-Infrastrukturen die Verarbeitung großer, kontinuierlicher Ereignisströme, indem Daten verarbeitet werden, wenn das Ereignis oder die Änderung eintritt.

Event Streaming dient oft als Ergänzung zur Batch-Verarbeitung, die auf große, statische Datensätze (oder „Data at Rest“) angewendet wird. Anstatt Daten jedoch in Batches zu verarbeiten, verarbeitet Event Streaming einzelne Datenpunkte, sobald sie auftauchen. Dieser Ansatz ermöglicht es der Software innerhalb der Architektur, Datenströme („Daten in Bewegung“) in Echtzeit zu interpretieren und darauf zu reagieren.

Leistungsstarke Event-Streaming-Services können eine Reihe einfacher und komplexer Aufgaben übernehmen, von der Versendung von Benachrichtigungen, wenn sich Lagerbestände oder Produktpreise ändern, bis hin zum Aufbau von Echtzeit-Maschinenlernmodellen, die verdächtige Benutzeraktivitäten erkennen. Selbst bei der Stapelverarbeitung kann Event Streaming die Datenanalyse vertiefen, indem Ereignisse mit ihren jeweiligen Zeitstempeln verknüpft werden. Es hilft auch dabei, historische Trends zu erkennen und liefert so im Laufe der Zeit wertvolle Erkenntnisse.

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. 

Was ist ein Event?

Beim Event Streaming geht es um den unbegrenzten, sequentiellen Fluss von Datensätzen in Echtzeit, genannt „Events“ – grundlegende Datenstrukturen, die jedes Ereignis im System oder in der Umgebung aufzeichnen. Es ist ein Begriff, der sich im Wesentlichen auf jeden Datenpunkt im System bezieht. Daher ist ein „Stream“ (auch Datenstrom oder Streaming-Daten genannt) die kontinuierliche Bereitstellung dieser Ereignisse.

Jedes Ereignis umfasst in der Regel einen Schlüssel, der das Ereignis oder die Entität, auf die es sich bezieht, identifiziert, sowie einen Wert, der die eigentlichen Daten des Ereignisses enthält. Außerdem enthält es einen Zeitstempel, der angibt, wann das Ereignis stattfand oder aufgezeichnet wurde, sowie manchmal Metadaten zur Datenquelle, Schema-Version oder anderen Attributen.

Mit Hilfe spezialisierter Stream-Processing-Engines können Ereignisse innerhalb eines Streams einige verschiedene Prozesse durchlaufen. „Aggregationen“ führen Datenberechnungen durch, wie z. B. Mittelwerte, Summen und Standardabweichungen. Durch „Ingestion“ werden Streaming-Daten in Datenbanken aufgenommen. Die Analyseverarbeitung nutzt Muster in Streaming-Daten, um zukünftige Ereignisse vorherzusagen, und die Anreicherungsverarbeitung kombiniert Datenpunkte mit anderen Datenquellen, um Kontext und Bedeutung zu schaffen.

Ereignisse sind oft mit Geschäftsvorgängen oder Prozessen der Benutzernavigation verbunden und lösen in der Regel eine andere Aktion, einen Prozess oder eine Reihe von Ereignissen aus. Nehmen wir als Beispiel das Online-Banking.

Wenn ein Benutzer auf „Überweisen“ klickt, um Geld von einem Bankkonto auf ein anderes zu überweisen, wird das Geld vom Konto des Absenders abgebucht und dem Bankkonto des Empfängers gutgeschrieben. E-Mail- oder SMS-Benachrichtigungen werden an eine (oder beide) Parteien gesendet, und wenn notwendig, werden Sicherheits- und Betrugspräventionsprotokolle eingesetzt.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Schlüsselkomponenten des Event Streaming

Veranstaltungen sind die zentrale Komponente des Event Streamings. Allerdings ermöglicht eine Reihe anderer Komponenten den Streaming-Diensten, Ereignisse so schnell und effektiv zu verarbeiten, wie sie es tun. Zu den weiteren wichtigen Komponenten gehören:

Broker

Broker oder Message Broker sind die Server, auf denen Event-Streaming-Plattformen ausgeführt werden. Message Broker ermöglichen es Anwendungen, Systemen und Diensten, miteinander zu kommunizieren und Informationen auszutauschen. Diese Funktionalität erreichen sie durch die Konvertierung von Nachrichten zwischen formalen Messaging-Protokollen. So können voneinander abhängige Services direkt miteinander „sprechen“, auch wenn sie in unterschiedlichen Sprachen (z. B. Java oder Python) geschrieben oder auf unterschiedlichen Plattformen implementiert sind. Es erleichtert auch die Entkopplung von Prozessen und Services innerhalb von Systemen.

Broker können Nachrichten validieren, speichern, weiterleiten und an die entsprechenden Ziele zustellen. In verteilten Event-Streaming-Systemen sorgen Broker für geringe Latenzen und hohe Verfügbarkeit, indem sie Ereignisse über mehrere Knotenpunkte hinweg replizieren. Broker können auch Cluster bilden – Gruppen von Brokern, die zusammenarbeiten, um Lastausgleich und die Skalierbarkeit zu erleichtern.

Themen

Themen sind Kategorisierungen oder Feed-Namen, unter denen Ereignisse veröffentlicht werden und die eine Möglichkeit bieten, Ereignisse innerhalb der Plattform zu organisieren und zu filtern. Sie fungieren als „Subjekt“ für Ereignisse und ermöglichen es den Verbrauchern, Themen zu abonnieren und nur relevante Ereignisse zu erhalten.

Partitionen

Themen können weiter in Partitionen unterteilt werden, so dass mehrere Verbraucher gleichzeitig aus einem Thema lesen können, ohne die Reihenfolge der einzelnen Partitionen zu stören.

Offsets

Ein Offset ist ein eindeutiger Bezeichner für jedes Ereignis innerhalb einer Partition, der die Position eines Ereignisses innerhalb der Sequenz markiert. Verbraucher verwenden Offsets, um die von ihnen verarbeiteten Ereignisse zu organisieren. Wenn ein Verbraucher beispielsweise die Verbindung zu einem Ereignis unterbricht und später wieder aufnimmt, kann er die Verarbeitung ab dem letzten bekannten Offset fortsetzen.

Wie funktioniert Event Streaming?

Angesichts der Datenflut – und des daraus resultierenden Anstiegs des Datenverkehrs – ist Event Streaming ein wesentlicher Bestandteil moderner Datenarchitekturen. Es ist besonders hilfreich in Umgebungen, die blitzschnelle Entscheidungsfindung erfordern, oder in Unternehmen, die ihre Entscheidungsprozesse automatisieren wollen.

So verwalten Event-Streaming-Services Ereignisdaten:

  1. Generierung von Ereignissen. Event Streaming beginnt, wenn Hersteller (z. B.Microservices, Backend-Systeme, IoT-Ökosysteme oder ereignisgesteuerte APIs) Ereignisse an die Event-Streaming-Plattform senden.

  2. Event Publishing. Mithilfe von Client-Bibliotheken veröffentlichen die Produzenten das Ereignis in einem bestimmten Thema innerhalb der Plattform. Ab diesem Zeitpunkt sind sie für die Konsumenten (die Anwendungen und Services, die das Thema abonnieren) verfügbar.

  3. Speicherung von Ereignissen. Die Plattform speichert die Ereignisse für einen bestimmten Zeitraum oder bis sie verbraucht werden, wobei Broker die Speicherung und den Abruf der Ereignisse verwalten.

  4. Event Consumption. Verbraucher verarbeiten Ereignisdaten, um andere Ereignisse auszulösen. Je nach Zweck oder Konfiguration können sie auf Ereignisse sofort reagieren, wenn sie eintreffen (Echtzeitverarbeitung), sie für eine spätere Verarbeitung speichern oder sie für eine Batch-Verarbeitung kompilieren. Die Verbraucher verfolgen auch ihre Position in der Datenpipeline, indem sie Offsets verwenden, sodass sie im Falle eines Fehlers oder Neustarts die Verarbeitung an der Stelle fortsetzen können, an der sie aufgehört haben.

  5. Event Delivery. Der Event Broker liefert aktiv Ereignisse an alle abonnierten Verbraucher. Es garantiert die Zustellung von Ereignissen gemäß der Semantik „mindestens einmal“, sodass jedes Ereignis sein Ziel erreicht, selbst wenn Duplikate auftreten. Sie können auch die Zustellung „genau einmal“ beinhalten, um sicherzustellen, dass jedes Ereignis genau einmal zugestellt wird, oder eine andere Art von Semantik.

  6. Ereignisverarbeitung. Sobald das erste Ereignis verarbeitet und bereitgestellt wurde, werden die Eventdaten für mehrere nachgelagerte Aktionen verarbeitet, einschließlich der Transformation der Daten, ihrer Aggregation und der Auslösung komplexer Workflows zur Ereignisverarbeitung (CEP).

Event-Streaming-Funktionen

Neben Standard-Streaming und -verarbeitung ermöglichen Event-Streaming-Plattformen wie Amazon Kinesis, Google Pub/Sub, Azure Event Hubs und IBM Event Automationeine Reihe von Streaming-Praktiken, die die Funktionalität verbessern. IBM Event Automation, insbesondere, nutzt die Power der Open-Source-Plattform Apache Kafka, um ereignisgesteuerte Workflows zu optimieren.

Exactly-Once-Verarbeitung

Die Exactly-Once-Bereitstellungs-Semantik stellt sicher, dass jedes Ereignis in einem Stream genau einmal verarbeitet wird. Dies ist eine wichtige Funktion, um doppelte und verlorene Stream-Ereignisse zu vermeiden. Die meisten Event-Streaming-Systeme enthalten Mechanismen, die unabhängig von Ausfällen an anderen Stellen im System eine Exactly-Once-Semantik bieten.

Backpressure

Wenn nachgelagerte Komponenten nicht mit der eingehenden Ereignisrate mithalten können, verhindert der Gegendruck (Backpressure), dass die Streams das System überwältigen. Mit Backpressure, einem Mechanismus zur Kontrolle des Datenflusses, können Konsumenten den Produzenten signalisieren, die Datenproduktion zu drosseln oder zu stoppen, wenn sie mit der Datenverarbeitung überfordert sind oder mit den eingehenden Ereignissen nicht Schritt halten können.

Dieser Prozess ermöglicht es Systemen, Workloads zu bewältigen, indem eingehende Ereignisse gepuffert oder verworfen werden – anstatt das gesamte System zu unterbrechen –, sodass die Ereignisverarbeitung auch bei schwankenden Workloads stabil bleibt.

Verbrauchergruppen

Event-Konsumenten arbeiten oft als Teil einer Verbrauchergruppe, um den Event-Konsum zu beschleunigen. Jedem Verbraucher in einer Verbrauchergruppe wird eine Teilmenge von Partitionen zur Verarbeitung zugewiesen, wodurch der Verbrauch für mehr Effizienz parallelisiert wird. Wenn ein Verbraucher innerhalb der Gruppe ausfällt oder hinzugefügt oder entfernt werden muss, kann die Plattform Partitionen dynamisch neu zuweisen, um das Gleichgewicht und die Fehlertoleranz aufrechtzuerhalten.

Wasserzeichen

Event Streaming bedeutet oft eine zeitkritische Verarbeitung von Daten. Durch die Verwendung von Wasserzeichen wird die Fortschrittsverfolgung (mittels Ereigniszeit) in Stream-Processing-Systemen ermöglicht. Es setzt einen Vollständigkeitsschwellenwert durch, der angibt, wann das System die Eventdaten als vollständig verarbeitet betrachten kann. Wasserzeichen können auch nützlich sein, wenn es darum geht, die Genauigkeit bei der zeitbasierten Verarbeitung zu gewährleisten und Ereignisse abzugleichen, die nicht in Ordnung sind.

Datenspeicherung und -verdichtung

Die meisten Event-Streaming-Plattformen bieten anpassbare Datenaufbewahrungsrichtlinien, mit denen Entwickler steuern können, wie lange Ereignisse für den Konsum verfügbar sind. Die Datenverdichtung ist jedoch ein Prozess, bei dem redundante oder veraltete Daten aus den Themen entfernt werden, um den Speicherplatzbedarf gering zu halten und gleichzeitig die wesentlichen Daten zu erhalten.

Auch hier ist anzumerken, dass Standard-Streaming-Architekturen in der Regel Ereignisproduzenten, Event Broker und Konsumenten entkoppeln, so dass die Komponenten unabhängig voneinander skaliert und gewartet werden können.

Anwendungsfälle für Event Streaming

Event Streaming ist ein leistungsfähiges Konzept, das es Unternehmen ermöglicht, Daten zu nutzen, sobald sie generiert werden, und so reaktionsschnellere und intelligentere Systeme zu schaffen. Mit der Zunahme der datengesteuerten Entscheidungsfindung wird das Event Streaming zu einer immer wichtigeren Komponente in modernen Software-Architekturen.

Event-Streaming-Technologien können in verschiedenen Geschäftsbereichen eingesetzt werden, darunter:

Bankwesen und Finanzdienstleistungen

Finanzinstitute können Event-Streaming-Services nutzen, um Marktdaten in Echtzeit zu verarbeiten und algorithmische Handelssysteme in die Lage zu versetzen, sekundengenaue Entscheidungen auf der Grundlage aktueller Marktbedingungen zu treffen. Die Echtzeit-Überwachungsfunktionen von Event Streaming helfen Instituten außerdem, Betrugs- und Sicherheitsrisiken schnell zu erkennen und zu bekämpfen.

Herstellung

Event Streaming kann die Optimierung der Lieferkette erleichtern, indem es Herstellern ermöglicht, Materialien und Produkte auf ihrem Weg durch die Lieferkette zu verfolgen, um Engpässe und Prozessineffizienzen zu erkennen. Darüber hinaus können Manager durch Streaming von Daten von IoT-/IIoT-Sensoren an Maschinen vorhersagen, wann und warum Geräte ausfallen könnten, und vorbeugende Wartung oder vorausschauende Wartung durchführen, um ungeplante Ausfallzeiten zu vermeiden.

Gaming und Unterhaltung

Online-Gaming-Plattformen können Event-Streaming-Services nutzen, um Aktionen von Spielern und Änderungen des Spielzustands zu verfolgen. Diese können zur Spielanalyse, zur Durchsetzung von Anti-Betrugsrichtlinien und zur Steigerung des Spieler-Engagements genutzt werden. Streaming-Plattformen können Ereignisdaten nutzen, um personalisierte Inhaltsempfehlungen für die Nutzer bereitzustellen und eine maßgeschneiderte Customer Experience zu schaffen.

Transport und Logistik

Event Streaming kann dazu verwendet werden, den Standort und den Status von Fahrzeugen zu verfolgen, was eine Echtzeit-Routenplanung auf der Grundlage von Verkehrsbedingungen, Lieferplänen und Fahrzeugleistung ermöglicht. Logistikunternehmen können auf ähnliche Weise Ereignisdaten von Scannern und GPS-Trackern nutzen, um Kunden in Echtzeit über den Status ihrer E-Commerce-Lieferungen zu informieren.

Verwendung in ereignisgesteuerten Architekturen und anderen Mustern

Abgesehen von bestimmten Branchen kann Event Streaming auch nützlich sein, wenn es in Verbindung mit anderen Technologien und Architekturen eingesetzt wird. So wird Event Streaming manchmal mit Mustern wie Event Sourcing und Command Query Responsibility Segregation (CQRS) in Verbindung gebracht.

Event Sourcing ist ein architektonisches Muster, bei dem Änderungen am Zustand der Anwendung als eine Folge von Ereignissen gespeichert werden. In Verbindung mit Event Streams ermöglicht das Event Sourcing dem Streaming-System, diese Ereignisse wiederzugeben, um den Zustand einer Entität zu einem beliebigen Zeitpunkt zu rekonstruieren oder um andere Komponenten des Systems zu steuern.

Bei einem CQRS-Architekturmuster ist das System in zwei verschiedene Modelle aufgeteilt: eines, das Befehle verarbeitet (Schreiben) und eines, das Abfragen verarbeitet (Lesen). Event Streaming kann in CQRS verwendet werden, um Änderungen vom Schreibmodell in das Lesemodell in Echtzeit zu übertragen und so eine asynchrone Integration zwischen den beiden Modellen zu ermöglichen.

Event Streaming ist auch eine grundlegende Technologie für den Aufbau ereignisgesteuerter Architekturen.

Eine ereignisgesteuerte Architektur ermöglicht es lose gekoppelten Komponenten, durch Ereignisse zu kommunizieren. Anstatt Ströme von Ereignissen an einen Broker zu senden, wird ein einziges Ereignis veröffentlicht, das eine andere App oder ein anderer Dienst verwenden kann, um Aktionen auszuführen. Die In-Stream-Verarbeitungsleistung von ereignisgesteuerten Architekturen –in Verbindung mit Event-Streaming-Funktionen– kann Unternehmen in die Lage versetzen, auf Daten in Bewegung zu reagieren und schnelle Entscheidungen auf der Grundlage aller aktuellen und historischen Daten zu treffen.

In den letzten Jahren haben Cloud-Anbieter (einschließlich IBM Cloud) damit begonnen, die Prinzipien des Event Streaming als Services anzubieten. Event-Streaming-as-a-Service macht es für Unternehmen einfacher, Event-Streaming einzuführen, ohne die gesamte zugrunde liegende Infrastruktur zu verwalten. Das erweitert die Anwendungsfälle von Event-Streaming noch weiter.

Weiterführende Lösungen
IBM Event Automation

IBM Event Automation ist eine modulare Lösung, die Unternehmen dabei hilft, ihre ereignisgesteuerten Aktivitäten mit Funktionen zur Verteilung, Erkennung und Verarbeitung von Ereignissen zu beschleunigen. 

Erkunden Sie IBM Event Automation
Beratungsleistungen für Automatisierung

Gehen Sie über einfache Aufgabenautomatisierungen hinaus und bewältigen Sie anspruchsvolle, kundenorientierte und umsatzfördernde Prozesse mit integrierter Akzeptanz und Skalierung.

Erkunden Sie die Beratungsleistungen von IBM zur Automatisierung
AIOps-Lösungen

Erfahren Sie, wie KI für den IT-Betrieb die Erkenntnisse liefert, die Sie benötigen, um die Leistung Ihres Unternehmens entscheidend zu verbessern.

AIOps-Lösungen erkunden
Machen Sie den nächsten Schritt

Beschleunigen Sie die Entscheidungsfindung und Abläufe, indem Sie neue Trends, Bedrohungen und Chancen erkennen.

 

Erkunden Sie IBM Event Automation Zur selbstgesteuerten Tour