Schnittstellen

Events in Schnittstellenentwicklung: Checkliste, typische Fehler, Best Practices

Event-Driven: Kafka, RabbitMQ, Outbox – wann sinnvoll.

Event-Driven Architecture: Kafka, RabbitMQ, Outbox – wann macht das Sinn?

Event-Driven ist kein Selbstzweck. Es löst spezifische Probleme – und schafft neue.

Wann Event-Driven sinnvoll ist

Wenn Systeme lose gekoppelt werden sollen: Der Publisher einer Bestellung weiß nicht, wer sonst noch auf diese Bestellung reagiert. Der Lagerservice, der Versandservice, der Analytics-Service – alle subscriben auf das Bestell-Event, ohne dass der Order-Service sie kennt.

Wenn Spitzen abgefedert werden sollen: Eine Queue zwischen zwei Systemen puffert Last. Das Downstream-System verarbeitet in seinem eigenen Tempo.

Wenn Ausfalltoleranz gefragt ist: Wenn das empfangende System kurz nicht verfügbar ist, liegen Nachrichten in der Queue und werden verarbeitet, wenn es wieder hochkommt.

Kafka vs. RabbitMQ

Kafka: Hochdurchsatz, persistente Log-basierte Architektur, Nachrichten bleiben lange verfügbar (für Replay). Gut für Event Streaming, Audit Logs, hohe Volumina. Operativer Aufwand höher.

RabbitMQ: Klassischer Message Broker, einfacher zu betreiben, gut für Task Queues und Work Distribution. Nachrichten werden nach Verarbeitung gelöscht.

Für die meisten mittelgroßen Projekte: RabbitMQ reicht. Kafka, wenn wirklich hohe Volumina oder Event-Replay gebraucht werden.

Das Outbox Pattern

Problem: Datenbank-Update und Queue-Message in einer atomaren Transaktion. Wenn die Message nach dem DB-Update verloren geht, ist der Zustand inkonsistent.

Lösung: Outbox-Tabelle in der Datenbank. Update und Outbox-Eintrag in derselben Transaktion. Ein separater Prozess liest die Outbox und schreibt in die Queue. Atomizität garantiert.

Checkliste Event-Driven

Event-Driven-Anwendungsfall klar identifiziert
Broker-Technologie (Kafka/RabbitMQ/SQS) passend gewählt
Outbox Pattern für kritische Events implementiert
Idempotente Consumer-Implementierung
Dead Letter Queue für nicht-verarbeitbare Nachrichten
Monitoring für Queue-Tiefe und Consumer-Lag

Event-Driven-Architektur für euer Projekt?

markom.digital entwirft und implementiert event-driven Integrationen – von der Architektur bis zur Produktionsumgebung.

Weitere Beiträge