Sobre el proyecto

Este repositorio demuestra cómo construir una solución de análisis de bajo latencia para el tráfico web en Google Cloud Platform. La arquitectura consta de cuatro partes principales: 1. **Ingesta de eventos** – Un tema de Pub/Sub recibe mensajes de flujo de clics generados por un sencillo generador de eventos en Python. Pub/Sub proporciona un bus de mensajes duradero y disponible globalmente que desacopla los productores de los consumidores. 2. **Procesamiento en streaming** – Un pipeline de Apache Beam se ejecuta en Dataflow (runner=DataflowRunner) en modo streaming. El pipeline lee los eventos de Pub/Sub, extrae los campos relevantes y actualiza contadores de métricas en Cloud Memorystore (Redis). Redis se utiliza como almacén en memoria porque sus comandos nativos de conjunto y HyperLogLog (`SCARD`, `SINTERSTORE`, `PFADD`, `PFCOUNT`) hacen que el recuento de visitantes únicos y los análisis basados en conjuntos sean muy eficientes. 3. **Almacén de métricas** – Cloud Memorystore (Redis) alberga las métricas en tiempo real. Al aprovechar las estructuras de datos integradas de Redis, la solución evita código de agregación personalizado y logra una latencia de consulta inferior a un segundo. 4. **Visualización** – Una aplicación Spring Boot (ubicada en la carpeta `dashboard/`) se conecta a Redis mediante el cliente Jedis, lee los valores agregados y los representa con Google Charts. La interfaz de usuario ofrece autoactualización, lo que permite a los equipos de marketing o operaciones monitorizar KPIs como usuarios activos, participación en experimentos, tasas de conversión y superposición de usuarios. El repositorio incluye scripts e instrucciones para: - Configurar los servicios de GCP necesarios (Pub/Sub, Dataflow, Memorystore, Cloud Storage, red VPC). - Implementar el pipeline de Dataflow utilizando Maven. - Ejecutar el generador de eventos de prueba en un entorno virtual de Python. - Iniciar el panel de Spring Boot detrás de una VM proxy para acceder a Redis restringido por VPC. - Ver el panel en vivo mediante la vista previa web de Cloud Shell. Todos los componentes son servicios completamente gestionados, por lo que la solución escala automáticamente y requiere una supervisión operacional mínima. Sirve como kit de inicio para cualquier persona que necesite análisis web en tiempo real, monitoreo de pruebas A/B o cualquier informe de KPIs basado en flujos de clics en GCP.