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.
In der ereignisgesteuerten Architektur (EDA) ermöglicht ein Ereignisbus die Echtzeitkommunikation über Ereignisdaten zwischen Ereigniserzeugern und Ereignisabonnenten.
Was sind Ereignisse?
Ereignisse sind Änderungen des Systemzustands. Ein Ereignis ist etwas, das auftritt und andere Dinge auslösen kann. Eine E-Commerce-Transaktion, die Informationsanfrage eines potenziellen Kunden, eine Datenschutzverletzung, ein defektes Gerät, die Änderung eines Aktienkurses und der Klick eines Kunden auf eine URL auf einer Website sind Beispiele für Ereignisse. Für Unternehmen ist die schnellstmögliche Benachrichtigung über Ereignisse entscheidend, um Effizienz, Produktivität und Wettbewerbsfähigkeit zu steigern. Um dies zu erreichen, können IT-Architekten eine ereignisgesteuerte Architektur einsetzen.
Was ist eine ereignisgesteuerte Architektur?
EDA ist ein Designmuster für Software und Hardware, mit dem Systeme eine Vielzahl von Ereignissen schnell erkennen, verarbeiten und darauf reagieren können. Eine ereignisgesteuerte Architektur umfasst:
- Ereigniserzeuger. Ein Ereigniserzeuger oder Ereignisproduzent ist ein System, das eine Benachrichtigung ausgibt, sobald ein Ereignis eintritt. Ereigniserzeuger können Nutzerschnittstellen sein, die Daten zu Nutzerereignissen übertragen, IoT-Geräte, die Temperaturänderungen oder Bewegungen melden, APIs, die Zahlungsabschlüsse kommunizieren, Datenbanken, die Änderungen in Datenbankdatensätzen anzeigen, und Workflow-Engines, die Ereignisse erzeugen, wenn Aufgaben, Workflows oder Meilensteine abgeschlossen sind.
- Ereignisbusse. Ein Ereignisbus ist Middleware, die als Vermittler zwischen den Ereigniserzeugern und ‑verbrauchern dient. Ein Ereignisbus empfängt Ereignismeldungen von Ereigniserzeugern in Echtzeit und stellt die Daten Ereignisverbrauchern bereit, die Informationen von einem bestimmten Ereigniskanal oder einer bestimmten Ereignisklasse abonniert haben. (Eine Nachrichtenwarteschlange, ein Ereignisbroker oder ein Ereignisstream können diese Funktion ebenfalls erfüllen.)
- Ereignisverbraucher: Ereignisverbraucher, auch als Ereignisabonnenten oder Ereignis-Listener bezeichnet, empfangen Informationen zu Ereignissen, verarbeiten sie und führen Aufgaben oder Aktionen basierend auf diesen Ereignissen aus. Die Aktionen eines Ereignisverbrauchers können das Aktualisieren einer Datenbank, das Senden einer E-Mail, das Ausgeben einer Warnung, das Aufgeben einer Bestellung, das Starten eines Workflows oder das Erzeugen eines neuen Ereignisses umfassen.
Welche Vorteile bietet eine EDA?
Ereignisgesteuerte Architektur und Ereignisbusse bieten mehrere Vorteile für IT-Systeme von Unternehmen.
Mit Ereignisbussen als Vermittler ermöglichen EDA-Systeme asynchrones Messaging und lose Kopplung von Anwendungen. Systeme, die Ereignisse erzeugen, müssen nicht wissen, wohin sie Informationen senden, und Ereignisverbraucher müssen nicht wissen, woher Ereignismeldungen stammen. Dies bietet einen erheblichen Vorteil gegenüber der „Anfrage/Antwort“-Architektur, bei der eine Anwendung Informationen von einer anderen anfordert und dann auf die Antwort wartet.
Diese asynchrone Nachrichtenübermittlung bedeutet, dass Erzeuger und Verbraucher nicht auf Antworten warten müssen, bevor sie auf Informationen reagieren oder mit der nächsten Aufgabe fortfahren. Die Ereignisproduzenten müssen nichts über die Ereignisverbraucher wissen, und die Ereignisverbraucher müssen nichts über die Ereigniserzeuger wissen. Die Erzeuger geben einfach an, dass etwas passiert ist, und die Verbraucher hören auf Ereignisse, die für sie wichtig sind. Diese lose Kopplung macht das System widerstandsfähiger gegenüber Ausfällen. Folglich ermöglicht die ereignisgesteuerte Architektur, dass verschiedene Komponenten bei Bedarf unabhängig voneinander skaliert werden können, und sie ermöglicht es Systemen, große Datenmengen mit höherer Geschwindigkeit und in Echtzeit zu verarbeiten.
Wie funktioniert ein Ereignisbus in einer EDA?
Ein Ereignisbus wird in der Regel in einem Publish-Subscribe-Modell verwendet. Bei diesem EDA-Ansatz empfangen Ereignisbusse Nachrichten von Erzeugern, übersetzen oder transformieren die Informationen bei Bedarf, halten Nachrichten organisiert und sortiert, leiten Nachrichten zum Gebrauch an Abonnenten weiter und löschen Nachrichten, sobald sie genutzt wurden.
Der Prozess läuft folgendermaßen ab:
- Um Ereignisdaten zu empfangen, werden Ereignisverbraucher so konfiguriert, dass sie Informationen von Ereignisbussen über ein bestimmtes Ereignis, einen bestimmten Ereignistyp oder eine bestimmte Ereignisklasse erhalten.
- Wenn der Ereignisbus eine Nachricht von einem Ereigniserzeuger empfängt, leitet er die Daten an alle entsprechenden Abonnenten weiter. Unternehmen können Busse auch so konfigurieren, dass sie Daten für einen bestimmten Zeitraum aufbewahren, sodass Verbraucher Daten nach ihrem eigenen Zeitplan abrufen können.
Welche Vorteile bieten Ereignisbusse?
Ereignisbusse ermöglichen den Komponenten einer ereignisgesteuerten Architektur Folgendes:
- Kommunikation ohne Abhängigkeiten. Dadurch wird es einfacher, Komponenten hinzuzufügen oder zu ändern, ohne Ausfallzeiten zu verursachen oder das Gesamtsystem zu beeinträchtigen.
- Horizontale Skalierung . Die Ereignisbus-Architektur ermöglicht die gleichzeitige Bereitstellung mehrerer Instanzen derselben Komponente, was parallele Verarbeitung zur Verbesserung der Systemperformance ermöglicht.
- Verarbeitung asynchroner Kommunikation. Durch die Vereinfachung von Ereignismeldungen im gesamten System erleichtern Ereignisbusse die asynchrone Kommunikation und ermöglichen es Komponenten, Aktionen unabhängig auszulösen.
Was sind Anwendungsfälle für einen Ereignisbus?
Ein Ereignisbus kann verwendet werden, um Ereignismeldungen für eine Vielzahl von Anwendungen zu vereinfachen.
- E-Commerce. E-Commerce-Plattformen nutzen Ereignisbusse, um Ereignisse wie „Produkt bestellt“, „Zahlungseingang“ oder „Paket versendet“ zu melden. Diese Ereignisse können dazu führen, dass Ereignisverbraucher Aktionen wie das Erstellen von Rechnungen, das Senden von E-Mail-Bestätigungen oder die Bestellung von mehr Lagerbestand auslösen.
- Microservices. Die lose Kopplung von Ereignisbussen und EDA ist die ideale Infrastruktur für die Kommunikation zwischen Microservices.
- IoT-Datenerfassung. Ereignisbusse können riesige Mengen an Ereignisdaten von IoT-Geräten (Internet of Things) und -Sensoren empfangen, die Umgebungsdaten oder die Bewegungen von Traffic und Menschen verfolgen.
- Erfassung von Änderungsdaten. Ereignisbusse können Ereignisse im Zusammenhang mit Änderungen in einer Datenbank erleichtern, z. B. wenn der CRM-Datensatz eines Kunden aktualisiert oder eine neue Registrierung erfasst wird oder ein Bestandsartikel nicht auf Lager ist.
- Integration. EDA- und Ereignisbusse fördern die Integration verschiedener Technologien durch asynchrone Kommunikation und lose gekoppelte Beziehungen zwischen Systemen.
- Datenverarbeitung in Echtzeit. Ereignisbusse fördern Echtzeitdatenbanken, indem sie Verbraucher sofort über Ereignisse informieren.
Was sind gängige Ereignisbus-Services?
Zu den beliebtesten Ereignisbus-Services gehören Java Message Service (JMS), Apache Kafka, RabbitMQ, Microsoft Azure Event Grid, Google Cloud Pub/Sub und AWS-Services wie Amazon EventBridge.
FAQs
Normalerweise wird ein Ereignisbus verwendet, um die Echtzeitkommunikation zu erleichtern. Eine Nachrichtenwarteschlange ermöglicht die asynchrone Kommunikation zwischen Services und Komponenten, indem Nachrichten gespeichert werden, bis ein Verbraucher bereit ist, sie zu verarbeiten. Message-Broker werden in komplexeren Umgebungen verwendet, um Nachrichten von einem Protokoll in ein anderes zu übersetzen.
Event-gesteuerte Architektur und Ereignisbusse sind Technologien, die ein serverloses Modell für Cloud Computing ermöglichen. Serverlose Architektur ermöglicht es Entwicklern, Code zu schreiben und bereitzustellen, ohne sich Gedanken über die Verwaltung und Konfiguration der zugrunde liegenden Server und Infrastruktur machen zu müssen. Ein Ereignisbus kann ein wichtiger Bestandteil einer serverlosen Architektur sein und die ereignisgesteuerten Aspekte durch die Verteilung und Verarbeitung von Ereignismeldungen erleichtern.