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.