Katalog
concept#Produkt#Delivery#Architektur#Ereignisgesteuert#Reaktionsfähigkeit

Event-Driven Architecture

Ein Architekturansatz, der auf der Erzeugung und Verarbeitung von Ereignissen basiert, um Systeme zu entkoppeln und reaktionsfähig zu gestalten.

Event-Driven Architecture (EDA) ist ein Architekturansatz, der sich auf die Erzeugung, Übertragung und Verarbeitung von Ereignissen konzentriert.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

Datenbanken zur Speicherung von EreignissenAPIs zur Kommunikation mit anderen SystemenMonitoring-Tools zur Überwachung von Ereignissen

Prinzipien & Ziele

Entkopplung von KomponentenReaktive ProgrammierungEreignisbasierte Kommunikation
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Ereignisverlust bei Systemausfällen
  • Schwierigkeiten bei der Nachverfolgbarkeit von Ereignissen
  • Komplexität bei der Integration von Komponenten
  • Ereignisse klar definieren und dokumentieren
  • Skalierbare Infrastruktur verwenden
  • Regelmäßige Überprüfung der Ereignisverarbeitung

I/O & Ressourcen

  • Ereignisse von Benutzern oder Systemen
  • Konfigurationseinstellungen für die Ereignisverarbeitung
  • Datenquellen für Ereignisse
  • Verarbeitete Ereignisse
  • Benachrichtigungen oder Alarme
  • Analytische Berichte

Beschreibung

Event-Driven Architecture (EDA) ist ein Architekturansatz, der sich auf die Erzeugung, Übertragung und Verarbeitung von Ereignissen konzentriert. In EDA-Systemen kommunizieren Komponenten über Ereignisse, die von einem Ereignis-Emitter erzeugt und von einem oder mehreren Ereignis-Handlern verarbeitet werden. Dieser Ansatz fördert die Entkopplung von Komponenten und ermöglicht eine reaktionsfähige, skalierbare und flexible Systemarchitektur.

  • Erhöhte Flexibilität und Anpassungsfähigkeit
  • Bessere Skalierbarkeit
  • Schnellere Reaktionszeiten

  • Komplexität in der Fehlerbehandlung
  • Höhere Anforderungen an die Systemarchitektur
  • Potenzielle Probleme mit der Konsistenz

  • Reaktionszeit

    Die Zeit, die benötigt wird, um auf ein Ereignis zu reagieren.

  • Durchsatz

    Die Anzahl der verarbeiteten Ereignisse pro Zeiteinheit.

  • Fehlerquote

    Der Prozentsatz der fehlerhaften Ereignisse.

E-Commerce-Bestellsystem

Ein E-Commerce-System, das Bestellungen über Ereignisse verarbeitet, um eine reaktionsschnelle Benutzererfahrung zu gewährleisten.

Finanztransaktionsverarbeitung

Ein System, das Finanztransaktionen in Echtzeit verarbeitet und Ereignisse zur Aktualisierung von Kontoständen verwendet.

Soziale Medien Benachrichtigungssystem

Ein Benachrichtigungssystem, das Ereignisse verwendet, um Benutzer über neue Interaktionen zu informieren.

1

Ereignisverarbeitungssystem entwerfen

2

Ereignisquellen integrieren

3

Überwachung und Wartung einrichten

⚠️ Technische Schulden & Engpässe

  • Unzureichende Dokumentation von Ereignissen
  • Veraltete Ereignisverarbeitungslogik
  • Mangelnde Tests für Ereignisverarbeitung
EreignisverlustKomplexitätKonsistenzprobleme
  • Ereignisse ignorieren, die für die Verarbeitung wichtig sind
  • Ereignisse nicht ordnungsgemäß validieren
  • Ereignisse nicht in der richtigen Reihenfolge verarbeiten
  • Annahme, dass alle Ereignisse gleich wichtig sind
  • Übersehen von Fehlern in der Ereignisverarbeitung
  • Unterschätzen der Komplexität der Systemintegration
Kenntnisse in der SoftwarearchitekturErfahrung mit ereignisgesteuerten SystemenFähigkeit zur Fehlersuche in komplexen Systemen
EchtzeitdatenverarbeitungSkalierbare SystemeEntkopplung von Diensten
  • Ereignisverarbeitung muss zuverlässig sein
  • Ereignisse müssen in der richtigen Reihenfolge verarbeitet werden
  • Systeme müssen skalierbar sein