À propos du projet
Ce dépôt montre comment construire une solution analytique à faible latence pour le trafic web sur Google Cloud Platform. L'architecture comprend quatre composants principaux :
1. **Ingestion d'événements** – Un sujet Pub/Sub reçoit les messages de click-stream générés par un générateur d'événements Python simple. Pub/Sub fournit un bus de messages durable et mondialement disponible qui découple les producteurs des consommateurs.
2. **Traitement en continu** – Un pipeline Apache Beam s'exécute sur Dataflow (runner=DataflowRunner) en mode streaming. Le pipeline lit les événements Pub/Sub, extrait les champs pertinents et met à jour des compteurs de métriques dans Cloud Memorystore (Redis). Redis est utilisé comme store en mémoire car ses commandes natives ensemblistes et HyperLogLog (`SCARD`, `SINTERSTORE`, `PFADD`, `PFCOUNT`) rendent le comptage des visiteurs uniques et les analyses ensemblistes très efficaces.
3. **Stockage des métriques** – Cloud Memorystore (Redis) conserve les métriques en temps réel. En exploitant les structures de données intégrées de Redis, la solution évite tout code d'agrégation personnalisé et atteint une latence de requête inférieure à la seconde.
4. **Visualisation** – Une application Spring Boot (dans le dossier `dashboard/`) se connecte à Redis via le client Jedis, lit les valeurs agrégées et les restitue avec Google Charts. L'interface offre un auto-rafraîchissement, permettant aux marketeurs ou opérateurs de surveiller des KPI tels que les utilisateurs actifs, la participation aux expérimentations, les taux de conversion et le chevauchement des utilisateurs.
Le dépôt inclut des scripts et instructions pour :
- Configurer les services GCP requis (Pub/Sub, Dataflow, Memorystore, Cloud Storage, réseau VPC).
- Déployer le pipeline Dataflow avec Maven.
- Exécuter le générateur d'événements factices dans un environnement virtuel Python.
- Lancer le dashboard Spring Boot derrière une VM proxy pour l'accès Redis restreint au VPC.
- Consulter le dashboard en direct via la prévisualisation web de Cloud Shell.
Tous les composants sont des services entièrement gérés, la solution s'adapte automatiquement et nécessite un minimum de charge opérationnelle. Elle sert de kit de démarrage pour quiconque a besoin d'analyses web en temps réel, de suivi d'A/B testing ou de tout reporting KPI basé sur des click-streams sur GCP.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.