Design von robusten Echtzeit-Analysen

Sie benötigen Dashboards mit aktuellen Daten. Diese müssen auch bei steigenden Anforderungen präzise bleiben. Event Sourcing löst dieses Problem.

Der Ablauf:

  • Producers: Services senden Domain-Events.
  • Event Bus: Kafka oder Kinesis speichert Events in einem Log.
  • Processors: Sie lesen das Log und aktualisieren Read Models.
  • Read Models: Postgres oder Redis speichert die finalen Metriken.
  • Query API: Ihr Dashboard bezieht die Daten von hier.

Wichtige Regeln für Ihr Design:

  • Machen Sie Events unveränderlich (immutable). Aktualisieren Sie ein Event niemals.
  • Verwenden Sie Idempotenz-Keys. Dies verhindert Duplikate.
  • Versionieren Sie Ihre Schemata. Dies verhindert Systemausfälle.
  • Nutzen Sie deterministische Projections. Dies hält die Daten konsistent.

So bauen Sie es auf:

  • Identifizieren Sie Ihre Core-Events.
  • Wählen Sie Ihre Storage-Tools.
  • Erstellen Sie initiale Projections für Metriken.
  • Implementieren Sie die Deduplizierung.
  • Erstellen Sie eine Schema Registry.
  • Überwachen Sie Ihren Event Lag.

Dieses Setup ermöglicht es Ihnen, Ihre Daten zu skalieren und zu auditieren. Sie behalten eine vollständige Historie jeder Änderung.

Quelle: https://dev.to/therizwansaleem/designing-a-durable-event-sourced-analytics-platform-for-real-time-dashboards-58fd