WISSENSARTIKEL / PROGRAMMIERUNG & ENTWICKLUNG

Event Driven Architecture (EDA)

Ein Architekturparadigma für reaktive und skalierbare Systeme

◎ KURZDEFINITION

Event Driven Architecture Eda Event Driven Architecture (EDA) ist ein Architekturmodell, bei dem Systemkomponenten durch das Erzeugen, Erkennen und Verarbeiten von Ereignissen miteinander kommunizieren.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • EDA basiert auf der asynchronen Kommunikation durch Ereignisse.
  • Es fördert lose Kopplung und Skalierbarkeit in Softwarearchitekturen.
  • Ereignisse sind Zustandsänderungen oder Aktionen, die im System auftreten.
  • Typische Komponenten sind Event Producer, Event Consumer und Event Broker.
  • EDA eignet sich besonders für verteilte Systeme und Microservices.
  • Die Architektur unterstützt Echtzeitreaktionen und flexible Erweiterbarkeit.
01

Überblick: Event Driven Architecture Eda

Event Driven Architecture (EDA) beschreibt eine Softwarearchitektur, die auf der Erkennung und Verarbeitung von Ereignissen basiert. Im Gegensatz zu traditionellen, synchronen Systemen reagieren Anwendungen in EDA asynchron auf Ereignisse, was eine hohe Flexibilität und Skalierbarkeit ermöglicht. EDA findet Anwendung in modernen IT-Systemen, insbesondere in Microservices, IoT, Echtzeitanalysen und verteilten Anwendungen.

02

Was ist Event Driven Architecture?

Event Driven Architecture (EDA) ist ein Architekturparadigma, bei dem Softwarekomponenten durch das Erzeugen und Reagieren auf Ereignisse interagieren. Ein Ereignis beschreibt eine Zustandsänderung oder eine Aktion, die innerhalb eines Systems auftritt. Die Kommunikation erfolgt asynchron, wodurch Systeme flexibel und skalierbar bleiben.

03

Grundprinzipien von EDA

Im Zentrum von EDA stehen Ereignisse, die von einem Event Producer erzeugt werden. Diese Ereignisse werden über einen Event Broker verteilt und von Event Consumern verarbeitet. Die Komponenten sind lose gekoppelt, was bedeutet, dass Producer und Consumer unabhängig voneinander arbeiten können. Dies erhöht die Fehlertoleranz und erleichtert die Erweiterung von Systemen.

04

Typische Komponenten einer Event Driven Architecture

Die wichtigsten Komponenten sind:
- Event Producer: Erzeugt Ereignisse bei Zustandsänderungen.
- Event Broker: Vermittelt Ereignisse zwischen Produzenten und Konsumenten.
- Event Consumer: Reagiert auf Ereignisse und führt Aktionen aus.

05

Vergleich von synchroner und asynchroner Kommunikation in EDA

KriteriumSynchrone KommunikationAsynchrone Kommunikation (EDA)
KommunikationsartDirekt, blockierendIndirekt, nicht-blockierend
KopplungEngLose
SkalierbarkeitBegrenztHoch
FehlertoleranzGeringHoch
ReaktionszeitSofortKann verzögert sein
06

Vorteile von Event Driven Architecture

EDA bietet mehrere Vorteile:
- Hohe Skalierbarkeit durch lose Kopplung.
- Verbesserte Fehlertoleranz und Ausfallsicherheit.
- Flexibilität bei der Erweiterung und Integration neuer Komponenten.
- Echtzeitverarbeitung von Daten und Ereignissen.
- Unterstützung für verteilte Systeme und Microservices.

07

Herausforderungen bei der Umsetzung von EDA

Trotz der Vorteile bringt EDA auch Herausforderungen mit sich:
- Komplexität bei der Ereignisverwaltung und -verfolgung.
- Schwierigkeit bei der Gewährleistung von Datenkonsistenz.
- Erhöhter Aufwand für Monitoring und Debugging.
- Anforderungen an geeignete Infrastruktur (z.B. Event Broker).

08

Beispielanwendung von EDA

✦

Ein Online-Shop nutzt EDA, um Bestellprozesse zu steuern. Wenn ein Kunde eine Bestellung aufgibt, erzeugt das System ein Ereignis „Bestellung aufgegeben“. Dieses Ereignis wird an verschiedene Services verteilt, die z.B. Lagerbestand prüfen, Zahlung verarbeiten und Versand vorbereiten. Jeder Service reagiert unabhängig und asynchron auf das Ereignis.

09

Technologien und Tools für EDA

Zur Umsetzung von EDA werden häufig folgende Technologien verwendet:
- Message Broker wie Apache Kafka, RabbitMQ oder AWS SNS/SQS.
- Event Streaming Plattformen.
- Frameworks für Microservices-Architekturen.
- Monitoring- und Logging-Tools zur Ereignisverfolgung.

10

Wichtig

✦

Event Driven Architecture ist kein Allheilmittel, sondern sollte gezielt eingesetzt werden, wenn asynchrone Kommunikation, Skalierbarkeit und Flexibilität im Vordergrund stehen.

◇

Zusatzinformationen

◇

Begriff: Event Driven Architecture (EDA)

Definition: Architekturmodell, das auf der Erzeugung, Übermittlung und Verarbeitung von Ereignissen basiert.

Ziel: Entkopplung von Komponenten, Skalierbarkeit, Reaktionsfähigkeit

Hauptkomponenten: Event Producer, Event Broker, Event Consumer

Kommunikationsart: Asynchron

Anwendungsbereiche: Microservices, IoT, Echtzeitsysteme, verteilte Anwendungen

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Event Driven Architecture Eda

Was versteht man unter einem Ereignis in EDA?

Ein Ereignis ist eine Zustandsänderung oder ein Ereignis im System, das von Komponenten erzeugt und von anderen Komponenten verarbeitet wird.

Wie unterscheidet sich EDA von traditionellen Architekturansätzen?

Im Gegensatz zu synchronen, eng gekoppelten Architekturen basiert EDA auf asynchroner Kommunikation und lose gekoppelten Komponenten.

Welche Vorteile bietet EDA für Microservices?

EDA ermöglicht Microservices, unabhängig und skalierbar zu arbeiten, indem sie Ereignisse asynchron austauschen.

Welche Rolle spielt ein Event Broker in EDA?

Der Event Broker vermittelt Ereignisse zwischen Produzenten und Konsumenten und sorgt für die zuverlässige Zustellung.

Kann EDA die Systemkomplexität erhöhen?

Ja, die Verwaltung von Ereignissen und die Sicherstellung von Konsistenz können die Komplexität erhöhen.

Ist EDA für alle Anwendungen geeignet?

Nein, EDA eignet sich besonders für Systeme mit hohen Anforderungen an Skalierbarkeit und Flexibilität, nicht für alle Szenarien.

Welche Technologien unterstützen EDA?

Technologien wie Apache Kafka, RabbitMQ oder AWS SNS/SQS sind gängige Event Broker für EDA.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Event-Driven Architecture: How SOA Enables the Real-Time Enterprise ↗
    O'Reilly Media· Hugh Taylor· BuchKI-Vorschlag · ungeprüft

    Grundlegendes Werk zur EDA

    https://www.oreilly.com/library/view/event-driven-architecture/9780132715543/
  2. 02
    What is Event-Driven Architecture? ↗
    Red Hat· Red Hat Team· WebseiteKI-Vorschlag · ungeprüft

    Einführung und Praxisbeispiele

    https://www.redhat.com/en/topics/middleware/what-is-event-driven-architecture
  3. 03
    Apache Kafka Documentation ↗
    Apache Software Foundation· Apache Kafka Community· WebseiteKI-Vorschlag · ungeprüft

    Technische Details zu einem verbreiteten Event Broker

    https://kafka.apache.org/documentation/
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.