Ereignisgesteuerte Architektur
Ereignisgesteuerte Architektur (EDA) ist ein Software-Designmuster, bei dem Systemkomponenten über Ereignisse – diskrete Benachrichtigungen, dass etwas passiert ist – kommunizieren. Dadurch entsteht eine lose Kopplung, Echtzeit-Reaktion und skalierbare, reaktive Systeme.
Verstehen Ereignisgesteuerte Architektur
In einer traditionellen Request-Response-Architektur kommunizieren Systeme über direkte Aufrufe und warten auf Antworten. Bei einer ereignisgesteuerten Architektur erzeugen Komponenten hingegen Ereignisse, sobald etwas passiert (z.B. eine E-Mail kommt an, eine Datei wird geändert, eine Zahlung wird verarbeitet) und andere Komponenten abonnieren relevante Ereignisse, um darauf zu reagieren. Diese Entkopplung macht Systeme skalierbarer, widerstandsfähiger und reaktionsschneller. Ereignisse werden typischerweise an Message Broker wie RabbitMQ, Kafka oder Amazon SQS veröffentlicht, dort dauerhaft gespeichert und an alle interessierten Abonnenten ausgeliefert. EDA ist das Rückgrat moderner Echtzeit-Anwendungen.
Wie GAIA verwendet Ereignisgesteuerte Architektur
Das gesamte Backend von GAIA basiert auf einer ereignisgesteuerten Architektur und verwendet RabbitMQ als Message-Broker. Der Eingang von E-Mails, Kalenderaktualisierungen, Slack-Nachrichten und Nutzeraktionen erzeugen jeweils Ereignisse, die an Queues veröffentlicht werden. ARQ-Worker abonnieren diese Ereignisse und führen die entsprechenden Agenten-Workflows aus. Diese Architektur macht GAIA tatsächlich echtzeitfähig und skalierbar — neue Ereignistypen und Workflows können hinzugefügt werden, ohne den laufenden Betrieb zu stören.
Verwandte Konzepte
Ereignisgesteuerte Automatisierung
Ereignisgesteuerte Automatisierung (auch ereignisbasierte Automatisierung) startet einen Workflow in dem Moment, in dem etwas passiert, etwa wenn eine neue E-Mail eintrifft, ein Issue angelegt wird oder eine Zeile in einer Tabelle hinzukommt, statt zu einer festen Uhrzeit. Jede Automatisierung verbindet ein auslösendes Ereignis mit den auszuführenden Aktionen, und das System, in dem das Ereignis stattfand, benachrichtigt die Automatisierungsplattform, meist über einen Webhook.
Webhook
Ein Webhook ist ein HTTP-Callback-Mechanismus, bei dem ein System eine automatisierte HTTP-Anfrage an eine festgelegte URL sendet, sobald ein definiertes Ereignis eintritt. So wird die Integration und Benachrichtigung zwischen Diensten in Echtzeit ermöglicht – ganz ohne Abfragen.
Nachrichtenwarteschlange
Eine Nachrichtenwarteschlange ist ein System, das Nachrichten (Aufgaben oder Ereignisse), die von Produzenten gesendet wurden, speichert und sie zur Verarbeitung an Konsumenten weiterleitet. Dadurch werden beide voneinander entkoppelt und eine asynchrone, zuverlässige Kommunikation zwischen Systemkomponenten ermöglicht.
Pub-Sub (Publish-Subscribe)
Publish-Subscribe (Pub-Sub) ist ein Nachrichtenmuster, bei dem Publisher Ereignisse an einen zentralen Broker senden, ohne zu wissen, wer sie empfangen wird, und Subscriber Interesse an bestimmten Ereignistypen anmelden und passende Ereignisse asynchron empfangen.
Auslöser
Ein Auslöser ist ein bestimmtes Ereignis, eine Bedingung oder ein Zeitplan, der automatisch einen automatisierten Workflow oder eine Agentenaktion startet und damit den Ausgangspunkt für jeden automatisierten Prozess bildet.
