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.
Verstehen Pub-Sub (Publish-Subscribe)
Pub-Sub entkoppelt die Absender von Nachrichten (Publisher) von deren Empfängern (Subscriber). Publisher senden Ereignisse, ohne zu wissen oder sich dafür zu interessieren, welche Subscriber interessiert sind. Subscriber melden sich für die Ereignistypen an, die sie benötigen, und empfangen relevante Ereignisse ohne Polling oder direkte Verbindung zu den Publishern. Diese Entkopplung erleichtert die Erweiterung von Systemen: Neue Subscriber für neue Anwendungsfälle können hinzugefügt werden, ohne Publisher oder bestehende Subscriber ändern zu müssen. Message-Broker wie RabbitMQ, Apache Kafka und Google Cloud Pub/Sub setzen dieses Muster skalierbar um.
Wie GAIA verwendet Pub-Sub (Publish-Subscribe)
GAIA verwendet Pub-Sub-Messaging über RabbitMQ, um die Workflows seiner Agenten zu koordinieren. Sobald eine E-Mail eingeht, veröffentlicht der E-Mail-Intake-Dienst ein Ereignis beim Broker. Mehrere Abonnenten können darauf reagieren: Der E-Mail-Triage-Agent bewertet die Dringlichkeit, der Task-Extraktions-Agent erstellt Aufgaben und der Kalender-Agent prüft auf Terminverweise. Dieses Pub-Sub-Design ermöglicht es GAIA, dasselbe Ereignis effizient in mehreren parallelen Workflows zu verarbeiten.
Verwandte Konzepte
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.
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.
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.
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.


