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