Event-Driven Architecture: Echtzeit-Verwaltung von Hypothekenanträgen

Veröffentlicht am 27. Feb 2026
Aktualisiert am 27. Feb 2026
Lesezeit

Datenflussdiagramm zwischen Microservices für Fintech-Hypothekenmanagement

In der Fintech-Landschaft des Jahres 2026 ist die Erwartung der Nutzer Unmittelbarkeit. Es ist nicht mehr akzeptabel, tagelang auf ein vorläufiges Feedback zu einer Finanzierungsanfrage zu warten. Hier kommt die Event-Driven Architecture: Echtzeit-Verwaltung der Antragsbearbeitung ins Spiel, ein Paradigma, das monolithische und langsame Bankprozesse in reaktive und skalierbare Datenströme verwandelt. Dieser technische Artikel untersucht, wie man ein verteiltes System entwickelt, das den Lebenszyklus einer Hypothek verwalten kann und dabei Resilienz sowie Datenkonsistenz gewährleistet.

1. Das Problem: Grenzen von Request/Response-Architekturen bei Hypotheken

Traditionell erfolgte die Orchestrierung eines Hypothekenantrags über monolithische Architekturen oder Microservices, die über HTTP (REST/gRPC) gekoppelt waren. Dieser Ansatz weist strukturelle Schwachstellen auf:

Werbung
  • Zeitliche Kopplung: Wenn der Credit Scoring-Dienst langsam ist, blockiert der gesamte Antragsprozess und lässt den Nutzer vor einem Ladesymbol warten.
  • Ineffizientes Polling: Downstream-Systeme müssen die zentrale Datenbank ständig abfragen, um zu wissen, ob neue Anträge zur Bearbeitung vorliegen («Sind wir schon da?»), was Rechenressourcen verschwendet.
  • Fehlerbehandlung: In einer Kette synchroner Aufrufe kann der Ausfall eines peripheren Dienstes (z. B. des PDF-Generators) die gesamte Transaktion scheitern lassen.
Lesen Sie auch →

2. Die Lösung: Event-Driven Architecture (EDA)

In einer ereignisgesteuerten Architektur kommunizieren Microservices nicht direkt miteinander. Stattdessen produzieren und konsumieren sie Events (Ereignisse). Ein Event ist eine unveränderliche Tatsache, die in der Vergangenheit stattgefunden hat (z. B. MortgageApplicationSubmitted).

Schlüsselkomponenten der Architektur

Für unseren Anwendungsfall vergleichen wir zwei dominierende technologische Backbones:

  • Apache Kafka: Ideal für hohen Durchsatz und wenn Log Retention erforderlich ist, um Events erneut zu verarbeiten (Replayability). Es ist die bevorzugte Wahl für Banken, die einen unveränderlichen Audit-Trail On-Premise oder hybrid benötigen.
  • Amazon EventBridge: Eine Serverless-Lösung, perfekt für das intelligente Routing von Events in der AWS-Cloud. Sie reduziert den operativen Aufwand, hat aber im Vergleich zu Kafka Grenzen bei der Payload-Größe und der Retention.

Architekturentscheidung: Für ein komplexes Hypothekensystem, das Historisierung und strenge Audits erfordert, verwenden wir Apache Kafka als zentralen Event Bus und integrieren Schema Registry-Muster (z. B. Avro oder Protobuf), um die Kompatibilität der Datenverträge zu gewährleisten.

Mehr erfahren →

3. Gestaltung des Ablaufs: Choreografie vs. Orchestrierung

Werbung

Die Verwaltung eines Hypothekenantrags ist ein Long-Running Process (langlaufender Prozess). Wir müssen entscheiden, wie wir die Dienste koordinieren:

Beteiligte Microservices

  1. Application Service: Empfängt die Anfrage vom Nutzer.
  2. Scoring Service: Bewertet das Kreditrisiko (Schufa, Experian).
  3. Document Service: Verwaltet Upload und OCR-Validierung der Dokumente.
  4. Bank Gateway: Kommuniziert mit den Legacy-Systemen der Bank für den endgültigen Beschluss.
  5. Notification Service: Sendet E-Mail/SMS/Push an den Nutzer.

Wir verwenden einen hybriden Ansatz: Choreografie für Status-Events (Pub/Sub) und Orchestrierung (über das Saga-Pattern) für das Management der transaktionalen Konsistenz.

Mehr erfahren →

4. Management der Konsistenz: Das Saga-Pattern

In einem verteilten System können wir keine ACID-Transaktionen der lokalen Datenbank für Prozesse verwenden, die mehrere Dienste durchlaufen. Wir müssen die Eventual Consistency akzeptieren. Aber was passiert, wenn das Bank Gateway den Antrag ablehnt, nachdem der Scoring Service ihn genehmigt hatte?

Wir müssen das Saga-Pattern implementieren, um Rollbacks (kompensierende Transaktionen) zu verwalten.

Beispiel eines Saga-Ablaufs (Choreografie)

Stellen wir uns den erfolgreichen Ablauf und den Fehlerfall vor:

Schritt 1: Transaktionsbeginn

Der Nutzer sendet die Anfrage. Der Application Service veröffentlicht das Event:

{
  "eventId": "uuid-1234",
  "eventType": "MortgageApplicationSubmitted",
  "payload": {
    "applicationId": "M-999",
    "amount": 200000,
    "applicant": "Mario Rossi"
  }
}

Schritt 2: Parallele Verarbeitung

Der Scoring Service und der Document Service hören auf das Event. Der Scoring Service genehmigt und veröffentlicht CreditScoreApproved. Der Document Service validiert die PDFs und veröffentlicht DocumentsValidated.

Schritt 3: Aggregation und Entscheidung

Das Bank Gateway wartet auf beide Events. Sobald diese empfangen wurden, versucht es, den Antrag auf dem Bank-Mainframe zu finalisieren.

Schritt 4: Fehler und Kompensation (Rollback)

Wenn der Mainframe mit einem Fehler antwortet (z. B. «Unzureichende Deckung» oder «Timeout»), veröffentlicht das Bank Gateway das Event MortgageFinalizationFailed.

An diesem Punkt greifen die Compensating Transactions:

  • Der Scoring Service hört auf den Fehler und gibt eventuelle «Locks» auf das Kreditrating des Nutzers frei.
  • Der Application Service hört auf den Fehler und aktualisiert den Status des Antrags von «In Bearbeitung» auf «Abgelehnt» und benachrichtigt den Nutzer.
Lesen Sie auch →

5. Technische Details und Best Practices

Idempotenz

In Kafka ist die Exactly-once-Zustellung komplex. Es ist sicherer, die Consumer so zu gestalten, dass sie idempotent sind. Wenn der Notification Service das Event MortgageApproved zweimal empfängt, muss er (anhand einer eindeutigen Event-ID, die in Redis oder DB gespeichert ist) erkennen können, dass er die E-Mail bereits gesendet hat, und das Duplikat verwerfen.

Dead Letter Queues (DLQ)

Was passiert, wenn ein Event fehlerhaft ist und den Consumer zum Absturz bringt? Wir können die Queue nicht blockieren. Das problematische Event muss nach X fehlgeschlagenen Versuchen in eine Dead Letter Queue verschoben werden, damit das Engineering-Team es manuell analysieren kann, ohne den Fluss der anderen Anträge zu stoppen.

Schema-Evolution

Hypothekenanträge ändern sich im Laufe der Zeit (neue Vorschriften, neue Datenfelder). Die Verwendung einer Schema Registry ist grundlegend. Producer und Consumer müssen sich auf das Schema einigen (z. B. Avro). Wenn wir das Feld vorzugszinssatz hinzufügen, dürfen die alten Consumer nicht kaputtgehen (Backward Compatibility).

6. Implementierung: Konfigurations-Snippet Kafka (Java/Spring Boot)

Hier ist ein Beispiel, wie man einen Consumer konfiguriert, der das Transaktionsmanagement in einem Spring Cloud Stream-Kontext unterstützt:

@Bean
public Consumer<MortgageEvent> mortgageProcessor() {
    return event -> {
        if (event.getType().equals("MortgageApplicationSubmitted")) {
            try {
                scoringService.calculate(event.getPayload());
            } catch (Exception e) {
                // Logik zum Senden an DLQ oder automatischer Retry
                throw new AmqpRejectAndDontRequeueException(e);
            }
        }
    };
}

7. Fazit

Der Übergang zu einer Event-Architektur für das Hypothekenmanagement ist nicht nur eine technologische Stilübung, sondern eine geschäftliche Notwendigkeit. Sie ermöglicht es, Entwicklungsteams zu entkoppeln (das Team «Dokumente» kann Updates veröffentlichen, ohne sich mit dem Team «Bank» abzustimmen), Dienste unabhängig zu skalieren (mehr Ressourcen für das Scoring während Antragsspitzen) und dem Endnutzer eine flüssige und transparente Erfahrung zu bieten.

Die Komplexität, die durch das Management der Eventual Consistency und der Kompensationsmuster eingeführt wird, ist der Preis für ein resilientes System, das hohe Volumina ohne die Flaschenhälse zentralisierter relationaler Datenbanken bewältigen kann.

Häufig gestellte Fragen

disegno di un ragazzo seduto con nuvolette di testo con dentro la parola FAQ
Welche Vorteile bietet die Event-Driven Architecture für das Hypothekenmanagement?

Diese Architektur überwindet die Grenzen monolithischer Systeme, indem sie die zeitliche Kopplung und ineffizientes Polling eliminiert. Sie ermöglicht die Umwandlung langsamer Prozesse in reaktive Abläufe, gewährleistet eine unabhängige Skalierbarkeit der Dienste und liefert sofortiges Feedback an den Nutzer, anstatt ihn vor einem endlosen Ladevorgang warten zu lassen.

Wie funktioniert das Saga-Pattern bei verteilten Transaktionen?

Das Saga-Pattern verwaltet die Datenkonsistenz durch eine Reihe koordinierter lokaler Transaktionen. Wenn ein Schritt fehlschlägt, wie etwa eine Ablehnung durch das Bank-Gateway, führt das System kompensierende Transaktionen aus, um die vorherigen Operationen rückgängig zu machen, wodurch sichergestellt wird, dass der Endzustand des Systems konsistent bleibt, ohne Ressourcen zu blockieren.

Warum sollte man Apache Kafka anstelle von Amazon EventBridge für Banken wählen?

Apache Kafka ist vorzuziehen, wenn eine strenge Historisierung und die Fähigkeit zur erneuten Verarbeitung vergangener Events erforderlich sind, was für banktechnische Audit-Trails unerlässlich ist. Im Gegensatz zu EventBridge, das hervorragend für Serverless-Routing geeignet ist, bewältigt Kafka hohe Payloads besser und garantiert eine unveränderliche Datenpersistenz On-Premise oder hybrid.

Was versteht man unter Idempotenz und warum ist sie grundlegend?

Idempotenz ist die Fähigkeit eines Systems, dasselbe Event mehrmals zu verarbeiten, ohne doppelte Nebeneffekte zu erzeugen. Sie ist in Architekturen wie Kafka entscheidend, wo die Exactly-once-Zustellung komplex ist; Consumer müssen bereits verarbeitete Events erkennen, um beispielsweise das Versenden doppelter Benachrichtigungen an den Kunden zu vermeiden.

Wie werden fehlerhafte Events behandelt, um das System nicht zu blockieren?

Um zu verhindern, dass ein fehlerhaftes Event die gesamte Verarbeitungswarteschlange blockiert, werden Dead Letter Queues (DLQ) verwendet. Nach einer definierten Anzahl fehlgeschlagener Versuche wird das problematische Event in diese spezielle Warteschlange verschoben, um von Ingenieuren manuell analysiert zu werden, sodass der Hauptfluss der Anträge ohne Unterbrechungen fortgesetzt werden kann.

Francesco Zinghinì

Elektronikingenieur mit der Mission, die digitale Welt zu vereinfachen. Dank seines technischen Hintergrunds in Systemtheorie analysiert er Software, Hardware und Netzwerkinfrastrukturen, um praktische Leitfäden zu IT und Telekommunikation anzubieten. Er verwandelt technische Komplexität in für alle zugängliche Lösungen.

Fanden Sie diesen Artikel hilfreich? Gibt es ein anderes Thema, das Sie von mir behandelt sehen möchten?
Schreiben Sie es in die Kommentare unten! Ich lasse mich direkt von Ihren Vorschlägen inspirieren.

Icona WhatsApp

Abonnieren Sie unseren WhatsApp-Kanal!

Erhalten Sie Echtzeit-Updates zu Anleitungen, Berichten und Angeboten

Hier klicken zum Abonnieren

Icona Telegram

Abonnieren Sie unseren Telegram-Kanal!

Erhalten Sie Echtzeit-Updates zu Anleitungen, Berichten und Angeboten

Hier klicken zum Abonnieren

Werbung
Condividi articolo
1,0x
Inhaltsverzeichnis