Was ist ein Ereignisverbraucher?

Ein Ereignisverbraucher ist eine Komponente einer ereignisgesteuerten Architektur (EDA). Ereignisverbraucher sind Anwendungen, Services, Geräte oder Personen, die einen Kanal abonnieren, der sofortige Informationen zu Ereignissen bereitstellt. Ereignisse sind Änderungen des Zustands von Informationen, Prozessen oder wichtigen Geschäftssystemen. Dabei handelt es sich um Aktionen, die sowohl innerhalb oder außerhalb eines Unternehmen als auch in diesem stattfinden können, zum Beispiel Transaktionen mit Neukunden, Bestandsänderungen, Sicherheitsverstöße, empfangene E-Mails, Artikel, die einem Einkaufswagen hinzugefügt werden oder der Abschluss eines Workflows.

Wenn Ereignisverbraucher über ein Ereignis benachrichtigt werden, können sie mit einer Aktion reagieren. Die Antwort kann zum Beispiel in der Versendung eines E-Mail-Alarms, der Verarbeitung von Nutzereingaben, dem Auslösen von Workflows oder dem Initiieren neuer Ereignisse bestehen. Bei einer einzelnen EDA-Anwendung können mehrere Ereignisverbraucher darauf warten, dass sie Informationen zu vielen verschiedenen Ereignissen erhalten. Gängige Ereignisverbraucher sind zum Beispiel Abrechnungssysteme, Benachrichtigungs-Engines, CRM-Plattformen, Microservices und Banksysteme.

Was ist eine ereignisgesteuerte Architektur?

Diagramm zur Darstellung der ereignisgesteuerten Architektur und der Event-Consumer-Komponente. Diagramm zur Darstellung der ereignisgesteuerten Architektur und der Event-Consumer-Komponente.

Eine ereignisgesteuerte Architektur ist ein Softwaredesignmuster, das es Systemen ermöglicht, Ereignisse in Echtzeit zu erkennen, zu verarbeiten, darauf zu reagieren und Informationen über Ereignisse weiterzugeben. Der größte Vorteil von EDA-Systemen ist ihre Fähigkeit, Daten sofort zu kommunizieren, wenn ein Ereignis eintritt, sodass Event Consumers sofort handeln können.

Einer der wichtigsten Aspekte von ereignisgesteuerten Architekturen ist, dass die Systeme, die Ereignisse generieren und auf sie reagieren, entkoppelt oder lose gekoppelt sind. Ein System, das Ereignisse nutzt, ist beispielsweise nicht von den Systemen abhängig, die Ereignisse erzeugen, und muss nicht wissen, woher die Informationen stammen. Das bedeutet, dass der Ausfall eines Services keine Probleme oder Unterbrechungen anderer Services verursacht.

Asynchrones Messaging ist ein weiteres wichtiges Merkmal von EDA. Anstatt mit einem „Anfrage- und Antwortmodell“ zu kommunizieren, bei dem Systeme auf eine Antwort warten müssen, bevor sie Maßnahmen ergreifen, kommunizieren die Komponenten in der ereignisgesteuerten Architektur asynchron und werden aktiv, ohne auf eine Meldung von anderen Komponenten zu warten. So können EDA-Systeme bei der schnellen Verarbeitung großer Datenmengen in Echtzeit hervorragende Leistungen erbringen, da Komponenten auf Ereignisse reagieren und Daten sofort verarbeiten können.

Welche Rolle spielt ein Ereignisverbraucher in einer EDA?

Ein Ereignisverbraucher ist eines von mehreren Schlüsselelementen einer ereignisgesteuerten Architektur. EDA-Komponenten beinhalten Folgendes:

  • Ereignisse: Ereignisse sind ein Signal dafür, dass etwas passiert ist oder ein Status sich geändert hat.
  • Ereignisproduzenten: Ereignisproduzenten sind Systeme wie IoT-Geräte, Nutzerschnittstellen, Datenbanken, externe APIs, Workflow-Engines, Cloudservices, Anwendungsüberwachungssysteme und andere Technologien, die Ereignisse generieren und kommunizieren.
  • Ereignismeldungen: Ereignismeldungen oder Ereignisbenachrichtigungen enthalten Informationen zu einem Ereignis. Sie befinden sich in der Regel in JSON- oder YAML-Dateien.
  • Ereignisverbraucher: Ereignisverbraucher, auch Ereignisabonnenten genannt, „hören“ sich Ereignisse an oder erhalten Informationen zu Ereignissen und initiieren Aktionen, die auf den erhaltenen Informationen basieren. Ereignisverbraucher können Aufgaben ausführen, wie z. B. Sicherheitsteams über potenzielle Sicherheitsverstöße zu informieren, Bestände zu aktualisieren, Bestätigungs-E-Mails an Kunden zu senden oder einen Workflow auszulösen.
  • Ereignisrouter: Ereignisrouter ermöglichen asynchrones Messaging und lose gekoppelte Architekturen, indem sie als Vermittler zwischen Produzenten und Verbrauchern fungieren. Router können Ereignisbusse, Nachrichtenwarteschlangen, Ereignisbroker oder Ereignisstreams sein, die Ereignisdaten von Produzenten empfangen und sie an Verbraucher weitergeben, die bestimmte Ereigniskanäle abonniert haben.
  • Ereignisprozessoren: Ereignisprozessoren verwalten die Ereignisdaten, die sie von Ereignisverbrauchern empfangen, und wenden Regeln an, die neue Ereignisse initiieren, Aufgaben starten oder Aktionen ausführen. Ereignisprozessoren leiten, filtern und transformieren auch Ereignisdaten.

Welchen Vorteil bieten Ereignisverbraucher?

Jedes Unternehmen, jeder Geschäftsbetrieb und jeder Geschäftsprozess wird von Ereignissen gesteuert und beeinflusst. Je schneller Unternehmen benachrichtigt werden und auf Ereignisse reagieren können, desto größer sind die Effizienzsteigerungen, die Produktivität und die Wettbewerbsfähigkeit. Mit Ereignisverbrauchern und ereignisgesteuerten Architekturen werden Unternehmen sofort über Ereignisse benachrichtigt und können sofort Maßnahmen ergreifen, die ihnen und ihren Kunden zugute kommen.

Ereignisgesteuerte Architekturen ermöglichen Unternehmen Folgendes:

  • Daten in Echtzeit verarbeiten . In EDA bedeutet asynchrones Messaging, dass Komponenten Ereignisse kommunizieren und verarbeiten können, sobald sie auftreten, ohne auf Antworten warten zu müssen.
  • Schnelle Reaktion auf reale Ereignisse. Die ereignisgesteuerte Architektur verbessert die Reaktionsfähigkeit, indem bei Ereignissen automatisch und sofort Aktionen ausgeführt werden.
  • Einfache Skalierung. Da EDA-Komponenten entkoppelt oder lose gekoppelt sind, können einzelne Komponenten unabhängig voneinander skaliert werden, wie die Workloads es verlangen.
  • Geringere Ausfallzeiten. EDA erhöht die Ausfallsicherheit und Fehlertoleranz, da andere Komponenten oft auch dann funktionieren, wenn bei einem Service oder System Probleme auftreten.
  • Integration und Interoperabilität. Die entkoppelte oder lose gekoppelte ereignisbasierte Kommunikation erleichtert es verschiedenen Systemen, zusammenzuarbeiten und Informationen auszutauschen.
  • Geschwindigkeit erhöhen . EDA kann Ihre Systeme beschleunigen, da verschiedene Komponenten nicht aufeinander warten müssen.

Wie erhalten Ereignisverbraucher Ereignisse?

Es gibt zwei primäre Modelle für die Veröffentlichung und Nutzung von Ereignissen.

Veröffentlichen/abonnieren (Pub/Sub)

In diesem Modell, das auch als Event-Messaging-Modell bezeichnet wird, abonnieren Ereignisnutzer verschiedene Themen und entscheiden sich, Informationen zu bestimmten Ereignissen zu erhalten. Wenn ein Ereignisproduzent ein Ereignis veröffentlicht, werden die Informationen an einen Ereignisbroker gesendet, der sie bei Bedarf übersetzt oder umwandelt, die Daten in die Warteschlange stellt und speichert und Nachrichten an Ereignisverbraucher sendet. Nachdem Nachrichten von Verbrauchern empfangen wurden, werden sie vom Broker gelöscht.

Zu den bekannten Pub-/Sub-Services gehören Apache Kafka, Confluent, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Azure Web Pub/Sub und GCP Pub/Sub.

 

Event-Streaming-Modell

Bei diesem Ansatz abonnieren Ereignisverbraucher Nachrichten zu Streamingereignissen, die von Ereignisproduzenten an Broker gesendet werden. Im Gegensatz zu Pub/Sub sind Nachrichten persistent, d. h. sie werden für einen bestimmten Zeitraum gespeichert und aufbewahrt. Das bedeutet, dass Verbraucher jederzeit in einen Stream hineingehen und rückwirkend auf Ereignismeldungen zugreifen können. Verbraucher können auch so konfiguriert werden, dass sie nur bestimmte Ereignisse aus dem Stream empfangen, anstatt wie bei Pub/Sub alle veröffentlichten Nachrichten zu empfangen. Das Event-Streaming-Modell ermöglicht auch die Verarbeitung komplexer Ereignisse, bei der Verbraucher Aktionen anhand von Informationen in einer Reihe von Ereignissen erfassen und initiieren.

Zu den Unternehmen, die Event-Streaming anbieten, gehören AWS EventBridge, AWS Kinesis, Azure Stream Analytics, GCP Dataflow und Apache Beam.

Welche Arten von Ereignissen abonnieren Verbraucher?

Ereignisverbraucher erfassen eine Vielzahl von Ereignisdaten und reagieren darauf.

  • E-Commerce: Die ereignisgesteuerte Architektur ist eine Säule von E-Commerce-Systemen, in denen unmittelbare Reaktionen auf Kundenaktionen für ein nahtloses Erlebnis unerlässlich sind.
  • Cybersicherheit: Ereignisverbraucher können Sicherheitsereignisse in Echtzeit verarbeiten, um Sicherheitsteams Warnungen zu übermitteln, schädliche Dateien zu blockieren oder verdächtigen Traffic in Quarantäne zu stellen.
  • Microservices: EDA ist aufgrund seiner entkoppelten Kommunikation, Modularität, Skalierbarkeit und Fehlertoleranz eine ideale Architektur für die Kommunikation zwischen Microservices.
  • Datenanalysen: Viele Ereignisverbraucher verarbeiten und analysieren Echtzeitdaten, um Muster aufzudecken und Erkenntnisse aus riesigen Datenmengen zu gewinnen. Betrugserkennungssysteme sind ein gängiges Beispiel für eine EDA-Technologie, die Anomalien bei Finanztransaktionen erkennen soll.
  • Überwachung: EDA-Systeme sind ideal, um den Zustand von Systemressourcen zu überwachen und Systemadministratoren zu benachrichtigen, wenn prädiktive Wartung oder dringende Maßnahmen erforderlich sind.
  • Internet der Dinge (Internet of Things, IoT): Die riesigen Datenmengen, die von IoT-Geräten erzeugt werden, können einfach in EDA-Systemen eingespeist und von diesen überwacht werden. Das ermöglicht Echtzeitüberwachung und -analysen.
  • Aktienmarkt: Ereignisverbraucher in der Handelsbranche sind für automatisierte Handelsstrategien von entscheidender Bedeutung, die Kauf-/Verkaufsaufträge auf der Grundlage sich schnell ändernder Bedingungen und Ereignisse innerhalb der Börse ausführen.
  • Workflow: EDA-Systeme ermöglichen automatisierte Workflows, indem sie Prozesse und Aufgaben basierend auf einer Vielzahl von Ereignissen auslösen.

Häufig gestellte Fragen (FAQ)

Die Begriffe „Ereignisverbraucher“ (Event Consumer), „Ereignishörer“ (Event Listener) und „Ereignisabonnent“ (Event Subscriber) werden oft als Synonyme betrachtet. Manche betrachten jedoch den Begriff „Ereignisverbraucher“ als breiter gefasst, weil er für jedes System gilt, das Ereignisse verarbeitet, während „Ereignisabonnent“ in der Regel bei der Beschreibung von Ereignisbrokern und Ereigniskanälen und „Ereignishörer“ häufig in Verbindung mit Programmierungsframeworks oder Bibliotheken verwendet wird.

Ereignisverbraucher werden auf verschiedene Weise konfiguriert, je nachdem, welcher Technologie-Stack, welche Messaging-Plattform oder welches Framework bereitgestellt wird. Unternehmen können Ereignisverbraucher in Middleware- und Messaging-Systemen wie Apache Kafka, RabbitMQ und AWS SNS/SQS, in Programmierframeworks wie Spring, .NET oder Node.JS-Bibliotheken, in Cloudplattformen wie AWS Lambda und Azure Functions, in Containerorchestrierungsplattformen wie Kubernetes oder in Plattformen wie Drupal, Symfony und Microsoft Dynamics 365 Business Central konfigurieren.

Warum entscheiden sich Kunden für Akamai?

Akamai ist das Unternehmen für Cybersicherheit und Cloud Computing, das das digitale Leben unterstützt und schützt. Unsere marktführenden Sicherheitslösungen, überlegene Bedrohungsdaten und unser globales Betriebsteam bieten ein gestaffeltes Sicherheitskonzept, um die Daten und Anwendungen von Unternehmen überall zu schützen. Die Cloud-Computing-Lösungen von Akamai bieten als Full-Stack-Gesamtpaket Performance und erschwingliche Preise auf der weltweit am stärksten verteilten Plattform. Globale Unternehmen vertrauen auf Akamai für die branchenführende Zuverlässigkeit, Skalierbarkeit und Expertise, die sie benötigen, um ihr Geschäft selbstbewusst auszubauen.

Entdecken Sie alle Akamai Security Solutions