Data Services Real-Time Stream Processing (Apache Kafka)
Der Kunde betreibt eine Real-Time Streaming Plattform basierend auf Apache Kafka, um die Eingangs-Daten in Echtzeit mit zusätzlichen Informationen anzureichern. Bei mehreren laufenden Stream Prozessoren gab es Probleme mit der Qualität der Daten der Drittanbieter. Ich analysierte und überarbeitete die existierenden Prozessoren und entwickelte neue Prozessoren.

Übersicht über das Projekt
Der Kunde betreibt mehrere auf Java, Spring Boot und Kafka Streams basierende Stream Prozessoren. Einige lieferten von der Quelle abweichende Daten, andere mussten um neue Features erweitert werden.
Meine Leistungen
- Entwicklung und Erweiterung von API Crawlern basierend auf Spring Boot und Kafka (Google, Facebook, IVW)
- Debugging der Abweichung zwischen Quelle und Daten in den Kunden-Systemen
- Anpassung/Erstellung von Crawlern/neuen Features nach den Kundenanforderungen
- Echtzeit-Stream-Verarbeitung und -Transformation mit Kafka-Streams
- Erstellen und Aktualisierung der Dokumentation, Hinzufügen von Tests
- Die existierenden Crawler und Stream Prozessoren waren nur rudimentär oder gar nicht dokumentiert. Ich erstellte oder erweiterte die Dokumentation, sodass die Angestellten des Kunden jederzeit in der Lage sind selbstständig Änderungen an den Projekten vorzunehmen.
- Ebenso erweiterte ich die Test-Cases der Projekte um eine robustere Entwicklung zu ermöglichen.
Verbesserungen
-
Wiederherstellung der Datenintegrität: Die Ursache für die Unterschiede zwischen Quelle und Kundensystemen konnte ausfindig gemacht und behoben werden.
-
Einbau lang benötigter Features: Durch Protokoll-Erweiterungen standen zusätzliche Informationen zur Verfügung, welche ich nutzbar gemacht habe.
-
Umfassende Dokumentation: Durch die umfassende neu erstellte und ergänzte Dokumentation ist sichergestellt, dass die Services auch in Zukunft wartbar bleiben.
Technologien
Apache Kafka, Java, Gradle, Spring Boot, Kubernetes, Imply Druid, Imply Pivot, Grafana, Prometheus