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 ist ein Muster, bei dem Workflows automatisch durch spezifische Ereignisse ausgelöst werden – etwa wenn eine neue E-Mail eintrifft, ein Kalendereintrag erstellt wird oder eine Nachricht gepostet wird. Dadurch werden Echtzeit- und reaktive Bearbeitungen möglich.
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.


