Concevoir des analyses en temps réel durables

Vous avez besoin de tableaux de bord avec des données fraîches. Vous avez besoin qu'ils restent précis à mesure que vous grandissez. L'event sourcing résout ce problème.

Le flux :

  • Producteurs : Les services envoient des événements de domaine.
  • Bus d'événements : Kafka ou Kinesis stocke les événements dans un journal (log).
  • Processeurs : Ils lisent le journal et mettent à jour les modèles de lecture (read models).
  • Modèles de lecture : Postgres ou Redis stocke les métriques finales.
  • API de requête : Votre tableau de bord extrait les données de là.

Règles clés pour votre conception :

  • Rendez les événements immuables. Ne mettez jamais à jour un événement.
  • Utilisez des clés d'idempotence. Cela empêche les doublons de données.
  • Versionnez vos schémas. Cela évite les ruptures.
  • Utilisez des projections déterministes. Cela garantit la cohérence des données.

Comment le construire :

  • Identifiez vos événements de base.
  • Choisissez vos outils de stockage.
  • Construisez les projections initiales pour les métriques.
  • Implémentez la déduplication.
  • Créez un registre de schémas (schema registry).
  • Surveillez votre retard d'événements (event lag).

Cette configuration vous permet de faire évoluer et d'auditer vos données. Vous conservez un historique complet de chaque modification.

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