Was ist ein Ereignisabonnent?

Diagramm mit Benachrichtigungen von Ereignisabonnenten. Diagramm mit Benachrichtigungen von Ereignisabonnenten.

In einer ereignisgesteuerten Architektur (Event-driven Architecture, EDA) ist ein Ereignisabonnent eine Anwendung, ein Dienst, ein Gerät oder eine Person, die sich entscheidet, Informationen zu einem bestimmten Ereignis oder zu einer bestimmten Ereignisklasse zu empfangen. Ereignisabonnenten, auch bekannt als Ereignisverbraucher, erhalten Nachrichten zu Ereignissen, indem sie Änderungen im Zusammenhang mit bestimmten Ereignisthemen, -Bereichen oder -Nachrichten „abhören“ oder kontinuierlich abfragen. Wenn ein Ereignisabonnent Informationen zu einem Ereignis empfängt, kann er die Informationen auf verschiedene Weise verarbeiten und darauf reagieren. Dazu gehören das Aktualisieren einer Datenbank, das Senden einer E-Mail, das Hinzufügen eines Objekts zu einem Speicher-Bucket oder die Aufforderung zu einem Workflow.

Was ist eine ereignisgesteuerte Architektur?

Ereignisgesteuerte Architektur (EDA) ist ein Softwaredesign, das es Systemen ermöglicht, Echtzeitereignisse zu erkennen, zu verarbeiten, zu orchestrieren oder darauf zu reagieren. Ein Ereignis ist eine Änderung des Zustands eines bestimmten Geschäftssystems oder Geschäftsprozesses. In einer ereignisgesteuerten Architektur können Ereignisabonnenten von einem Ereignis erfahren, sobald es auftritt. So können Anwendungen, Systeme, Personen und Unternehmen in Echtzeit reagieren. Diese Architektur nutzt häufig Namespaces, um Ereignisklassen und Methoden für Ereignisabonnenten zu organisieren und so eine saubere und wartbare Codebasis zu gewährleisten.

Was ist ein Ereignis?

Ein Ereignis ist etwas, das passiert ist. Es ist eine Statusänderung. Zu den Ereignissen gehören Dinge wie ein Kundenkauf, eine Anfrage nach Informationen, Bestandsaktualisierungen, Sensorwerte, die auf einen Sicherheitsvorfall hinweisen können, ein Artikel, der aus einem Warenkorb entfernt wurde, die Erstellung eines neuen Nutzerkontos oder eine Benachrichtigung über Aktienkurse, die einen bestimmten Schwellenwert erreichen.

Wie funktioniert ein Ereignisabonnent in einer ereignisgesteuerten Architektur?

Die ereignisgesteuerte Architektur umfasst mehrere Hardware- und Softwarekomponenten, die miteinander verbunden und angeordnet sind, um die Echtzeitkommunikation über Ereignisse zu ermöglichen.

Ereigniserzeuger, auch als Ereignisproduzenten bezeichnet, sind Systeme, die ein Ereignis erkennen oder generieren und die Informationen in einem Ereignisbus oder -kanal veröffentlichen. Ereigniserzeuger erkennen, wenn sich ein Status ändert. Zu den Ereigniserzeuger gehören Systeme wie Datenbanken, die Ereignisse veröffentlichen, wenn sich Daten ändern, Microservices, die den Abschluss von Aktionen anzeigen, IoT-Geräte (Internet of Things), die signalisieren, dass Aktionen stattgefunden haben oder sich die Bedingungen geändert haben, und CRM-Systeme, die Benachrichtigungen senden, wenn Bestellungen erfüllt oder neue Nutzer registriert sind.

Ereignisbusse, auch als Ereigniskanäle oder Ereignisbroker bezeichnet, dienen dem Laden und Auslagern von Informationen zu Ereignissen. Ereignisbusse erfassen Daten in Echtzeit von Ereigniserzeugern und stellen Ereignisabonnenten, die bestimmte Ereignisse abhören, Informationen zur Verfügung. Ereignisbusse werden auch als Ereignisstreams oder Nachrichtenwarteschlangen bezeichnet und umfassen Plattformen wie Apache Kafka, Amazon Kinesis und Google Pub/Sub.

Ereignisabonnenten, auch als Ereignishörer oder Ereignisverbraucher bezeichnet, sind Anwendungen, Dienste, Geräte oder Personen, die Nachrichten zu Ereignissen empfangen. Verschiedene Abonnentenklassen sind so konzipiert, dass sie Informationen zu bestimmten Ereignissen oder Ereignisklassen erhalten. Ereignisabonnenten werden in der Regel so konfiguriert, dass sie Ereignisdaten empfangen, sobald sie verfügbar sind.

Wie profitieren Ereignisabonnenten von Unternehmen?

Ereignisse wirken sich auf jeden Aspekt eines Unternehmens und seine Prozesse und Abläufe aus. Wenn Unternehmen und ihre Mitarbeiter, Anwendungen und Systeme schneller auf Ereignisse reagieren können, können sie die Produktivität erhöhen, die Effizienz steigern und die Wettbewerbsfähigkeit verbessern. Durch die Konfiguration von Ereignisabonnenten, um Informationen über eine Vielzahl geschäftskritischer Ereignisse zu erhalten, können Unternehmen effektiver und erfolgreicher arbeiten.

Wie erfassen und verarbeiten Ereignisabonnenten Ereignisse?

Ereignisabonnenten empfangen, verarbeiten und reagieren auf verschiedene Weisen auf Ereignisse.

  • Direktbenachrichtigung: In einigen Fällen senden Ereignisanbieter Ereignisse direkt an Abonnenten, ohne dass ein Ereignisbus oder ein Ereignisbroker verwendet wird.
  • Pull-Modell: Abonnenten können sich auch dafür entscheiden, regelmäßig neue Ereignisse aus einer Warteschlange zu überprüfen oder abzurufen, an der sie interessiert sind. Dies ermöglicht die Batch-Verarbeitung und den Lastausgleich. Dieses Modell kann jedoch zu Verzögerungen bei der Ereignisverarbeitung führen.
  • Pub/Sub: In einer Publish-/Subscribe-Infrastruktur werden Nachrichten über einen Message Broker an Ereignisverbraucher gesendet, die bestimmte Ereigniskanäle abonniert haben. Broker empfangen Ereignismeldungen, übersetzen sie bei Bedarf, halten Nachrichten organisiert, senden Nachrichten an Abonnenten zur Nutzung und löschen Nachrichten. In diesem Modell können Ereignisse nicht erneut wiedergegeben werden, sodass Ereignisabonnenten nicht rückwirkend auf Ereignisse zugreifen können.
  • Ereignis-Streaming: Bei einem Ereignis-Streaming-Ansatz werden Ereignisse in ein Protokoll geschrieben – und alle Ereignisabonnenten können von jedem Teil des Streams aus auf Ereignisse zugreifen, einschließlich früherer Ereignisse. Ereignis-Streaming wird in der Regel von einer Streamingplattform abgewickelt, die die Protokollierung und Übertragung riesiger Ereignismengen mit einem sehr hohen Durchsatz verwalten kann, oft bis zu Billionen von Ereignissen pro Tag. Streamingplattformen ermöglichen die Persistenz von Ereignissen, bei denen Datensätze für einen bestimmten Zeitraum aufbewahrt werden. Streamingplattformen verwalten auch die Verarbeitung komplexer Ereignisse, bei denen Abonnenten eine Reihe von Ereignissen konsumieren und verarbeiten, um Trends oder bestimmte Bedingungen zu identifizieren.

Welche Art von Ereignissen verarbeiten Ereignisabonnenten?

Ein Ereignisabonnent kann eine Vielzahl von Ereignissen verarbeiten, die von sehr einfachen bis hin zu hochkomplexen Ereignissen reichen. Dazu gehören:

  • Geschäftstransaktionen: Diese Ereignisse beziehen sich auf Geschäftsprozesse, wie z. B. die Onlineregistrierung eines Kunden, die eine Bestellung aufgeben, eine Zahlung abschließen oder den Bestellstatus ändern.
  • Nutzeraktionen: Diese Aktionen, die von Nutzern mit einer Anwendung oder einem System generiert werden, umfassen Klicks, Formularübermittlungen, Anmelde-/Abmeldeaktivitäten oder Seitennavigation.
  • Benachrichtigungen: Bestimmte Ereignisse werden generiert, um andere Teile des Systems oder externe Systeme zu benachrichtigen. Dazu gehören Aktionen wie das Senden einer E-Mail, das Auslösen von Warnungen oder das Generieren von Berichten.
  • Systemereignisse: Diese Ereignisse treten innerhalb des Systems auf und werden durch Dinge wie den Abschluss eines Prozesses, Datenaktualisierungen, Systemfehler oder den Start geplanter Aufgaben ausgelöst.
  • Sensoreingaben: In IoT-Anwendungen können Ereignisse durch Sensordaten generiert werden, die sich auf Temperaturänderungen, Bewegungserkennung oder Standortaktualisierungen beziehen.
  • Datenfeeds: Diese Ereignisse stammen aus Datenaktualisierungen, wie z. B. Änderungen in einer Datenbank, neuen Einträgen in einer Protokolldatei oder Updates aus externen Datenquellen wie APIs oder Feeds.
  • Streamverarbeitung: Die Verarbeitung von Echtzeitdatenströmen kann Ereignisse im Zusammenhang mit der Überwachung von Aktienkursen, der Analyse von Social-Media-Beiträgen oder der Verfolgung von Echtzeitanalysen generieren.
  • Zustandsänderungen: Einige Ereignisse werden durch Änderungen des Zustands von Objekten oder Entitäten innerhalb des Systems generiert, z. B. durch die Änderung einer Bestellung von „ausstehend“ in „versandt“ oder durch die Aktualisierung des Status eines Tickets in einem Tracking-System.
  • Lebenszyklusereignisse: Diese Ereignisse betreffen den Lebenszyklus von Komponenten innerhalb des Systems, wie z. B. das Starten oder Herunterfahren von Diensten, die Bereitstellung neuer Versionen oder Zustandsprüfungen.
  • Integrationsereignisse: Interaktionen zwischen verschiedenen Systemen oder Diensten können Ereignisse generieren, die verwendet werden können, um Daten zu synchronisieren oder Aktionen über Systemgrenzen hinweg auszulösen.

Häufig gestellte Fragen (FAQ)

Diese Begriffe werden oft synonym verwendet, wenn es um ereignisgesteuerte Architektur geht, obwohl einige von ihnen differenzierte Unterscheidungen aufweisen. Im Allgemeinen ist ein Ereignisverbraucher ein umfassenderer Begriff, der auf jede Komponente, jedes System oder jeden Dienst verweist, der Ereignisse nutzt und verarbeitet. Der Begriff „Ereignisabonnent“ wird häufiger verwendet, wenn es um Messaging-Systeme und Ereignisbroker geht, während Ereignishörer häufiger im Kontext der Programmierung und Softwareentwicklung verwendet wird, bei denen Callbacks registriert werden.

Ereignisgeräte werden über programmgesteuerte Ansätze und Konfigurationseinstellungen konfiguriert, die festlegen, wie Funkgeräte auf Ereignisse hören und darauf reagieren. Die Konfiguration variiert je nach verwendetem Technologie-Stack, Framework oder verwendeter Nachrichtenplattform. Ereignisse, die in Drupal, Symfony oder Microsoft Dynamics 365 Business Central konfiguriert sind, verwenden verschiedene Arten von Objekten und Parametern, um Ereignisse anzufordern und Ereignisdaten zu validieren.

Ereignisnamen sind Identifikatoren, die in ereignisgesteuerten Systemen verwendet werden, um bestimmte Aktionen oder Antworten zu kategorisieren und auszulösen, wenn Ereignisse auftreten. Sie spielen eine entscheidende Rolle in der ereignisgesteuerten Architektur, da sie es Veranstaltungsherstellern ermöglichen, Ereignisse so zu kennzeichnen, dass Abonnenten oder Zuhörer sie verstehen und angemessen darauf reagieren können.

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 Bedrohungsinformationen 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 Cloud-Computing-Services