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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.