Unser System wuchs organisch. Service A ruft Service B synchron auf, B ruft C, C ruft D. Wenn D ausfällt, fällt die gesamte Kette aus. Mit Apache Kafka sind wir auf eine Event-Driven-Architektur umgestiegen.
Das Problem: Synchrone Ketten¶
In einer synchronen Architektur ist die Latenz additiv und die Verfügbarkeit multiplikativ. Mit jedem hinzugefügten Service verschlechtert sich das System. Retry und Circuit Breaker helfen, aber synchrone Kopplung ist fragil.
Kafka als Event Bus¶
- Persistenz — Events auf der Festplatte, konfigurierbare Retention
- Reihenfolge — innerhalb einer Partition garantiert
- Replayability — Consumer kann ab jedem beliebigen Offset lesen
- Durchsatz — Millionen von Nachrichten pro Sekunde
Event Sourcing Pattern¶
Anstatt den aktuellen Zustand einer Bestellung zu speichern, speichern wir jede Änderung als Event: OrderCreated, PaymentReceived, ItemShipped. Der aktuelle Zustand ist eine Projektion dieser Events. Vollständiger Audit Trail, Replay, Temporal Queries.
Kafka Connect¶
JDBC Source Connector liest Änderungen aus der Datenbank, Elasticsearch Sink Connector indiziert Events. Konfiguration in JSON, kein eigener Code.
Event-Driven-Architektur ist eine Investition, die sich auszahlt¶
Der Übergang zu Kafka war nicht einfach — wir mussten unsere Denkweise ändern. Aber die Resilienz, Skalierbarkeit und Flexibilität sind die Investition wert.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns