Zurück zur Übersicht

Begriff

Event-Driven Architecture (EDA)

Software Architecture Microservices S3
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Klassisch (Request/Reply): Du bestellst Pizza (Telefon). Du wartest am Hörer, bis der Bäcker sagt: "Okay, ist im Ofen." (Blockierend). Event-Driven (Fire & Forget): Du wirfst einen Zettel in den Briefkasten: "Ich will Pizza." (Event). Du legst dich aufs Sofa. Der Bäcker sieht den Zettel, backt, und wirft einen Zettel bei sich ein: "Pizza fertig." Der Lieferdienst sieht den Zettel "Pizza fertig", holt sie ab und klingelt bei dir. Niemand wartet aktiv. Alles reagiert auf Ereignisse. Das System ist extrem lose gekoppelt.

Merksatz: Ein Architekturstil, bei dem Komponenten durch das Produzieren und Konsumieren von Ereignissen (Events) miteinander kommunizieren, statt sich direkt aufzurufen.


Quick-Check

  1. Was ist "Eventual Consistency"?
    Da alles asynchron ist, dauert es kurz, bis alle Daten überall gleich sind. "Kunde hat gekauft", aber "Lager ist noch nicht leer". Für Millisekunden ist die Welt inkonsistent. Damit muss man leben lernen.
  2. Was, wenn ein Event verloren geht?
    Darf nicht passieren. Broker wie Kafka garantieren "At-Least-Once Delivery". Deine Services müssen damit klarkommen, dass ein Event vielleicht doppelt kommt (Idempotenz).
  3. Warum ist Debuggen schwer?
    Weil es keinen "Stack Trace" gibt, der durch alle Services geht. Du musst Logs über mehrere Systeme korrelieren ("Correlation ID"), um zu verstehen, was passiert ist.