abaQon Projektbericht: Bereitstellung von Personeninformationen mit Kafka-Streams
DAS PROJEKT
Eine grosse Schweizer Privatkundenbank benötigte eine robuste Kafka Streams Anwendung, die Kundeninformationen zusammenfasst und ein einziges Kafka Topic mit allen relevanten Kundeninformationen erzeugt. Das Output Topic dient als Informationsquelle für verschiedene Verbraucher, wie z.B. die Kreditanwendung der Bank oder die Leasing-Plattform. Die Daten werden aus dem Kernbankensystem der Bank in verschiedene Kafka Topics exportiert, und jede relevante Änderung in einem der Input Topics sollte innerhalb von Minuten für die Verbraucher verfügbar sein.
UNSER BEITRAG
abaQon war am Design und der Implementierung der Kafka Streams Anwendung beteiligt. Durch die Analyse der Stakeholder-Anforderungen skizzierten wir das gewünschte Topic, seine Eigenschaften und die Auswirkungen auf das Anwendungsdesign. Die Implementierung wurde in Kotlin durchgeführt. Wir haben einen test-driven Entwicklungsansatz verwendet, der bei der Gestaltung der Anwendung sehr hilfreich war, um alle Randfälle abzudecken. Zusätzlich verwendeten wir Python, um große Mengen an synthetischen Daten zu generieren, die uns bei der Durchführung von Lasttests unterstützten.
REALISIERTER MEHRWERT
Die Anwendung bietet eine einheitliche und aktuelle Sicht auf die Basisdaten der Kunden, die den Anforderungen aller konsumierenden Dienste gerecht wird. Sie wird direkt aus dem Kernbankensystem gespeist und kann dank ihrer Skalierbarkeit sowohl große anfängliche Datenmengen als auch den täglichen Strom von Aktualisierungen bewältigen. Änderungen in einem der sechs Input Topics, die für unsere Ausgabe nicht relevant sind, lösen keine neue Meldung aus. Dies trägt dazu bei, die Datenlast in der Anwendung und im Output Topic zu verringern.