Sobre o projeto

Este repositório demonstra como criar uma solução de análise de baixa latência para tráfego web no Google Cloud Platform. A arquitetura consiste em quatro partes principais: 1. **Ingestão de eventos** – Um tópico Pub/Sub recebe mensagens de click‑stream geradas por um gerador de eventos Python simples. O Pub/Sub fornece um barramento de mensagens durável e globalmente disponível que desacopla produtores de consumidores. 2. **Processamento de streaming** – Um pipeline Apache Beam roda no Dataflow (runner=DataflowRunner) em modo de streaming. O pipeline lê eventos do Pub/Sub, extrai campos relevantes e atualiza contadores de métricas no Cloud Memorystore (Redis). O Redis é usado como armazenamento na memória porque seus comandos nativos de conjunto e HyperLogLog (`SCARD`, `SINTERSTORE`, `PFADD`, `PFCOUNT`) tornam a contagem de visitantes únicos e análises baseadas em conjunto muito eficientes. 3. **Armazenamento de métricas** – O Cloud Memorystore (Redis) mantém as métricas em tempo real. Ao aproveitar as estruturas de dados internas do Redis, a solução evita código de agregação personalizado e alcança latência de consulta sub‑segundo. 4. **Visualização** – Um aplicativo Spring Boot (localizado na pasta `dashboard/`) conecta‑se ao Redis via o cliente Jedis, lê os valores agregados e os renderiza com o Google Charts. A UI oferece atualização automática, permitindo que profissionais de marketing ou operadores monitorem KPIs como usuários ativos, participação em experimentos, taxas de conversão e sobreposição de usuários. O repositório inclui scripts e instruções para: - Configurar os serviços necessários do GCP (Pub/Sub, Dataflow, Memorystore, Cloud Storage, rede VPC). - Implantar o pipeline do Dataflow usando Maven. - Executar o gerador de eventos fictício em um ambiente virtual Python. - Inicializar o painel Spring Boot atrás de uma VM proxy para acesso ao Redis restrito à VPC. - Visualizar o painel ao vivo por meio da pré‑visualização da web do Cloud Shell. Todos os componentes são serviços totalmente gerenciados, portanto a solução escala automaticamente e requer mínima sobrecarga operacional. Serve como um kit inicial para quem precisa de análise de web em tempo real, monitoramento de testes A/B ou qualquer relatório de KPI baseado em click‑stream no GCP.