100%
Voltar ao catálogo de notas

Nota técnica

Real-Time Ops Monitor: operação em streaming

Evolução do pipeline batch para visão quase tempo real: fila, atrasos e alertas com Kafka e Spark Streaming — posicionamento forte em engenharia.

7 min de leitura media planejamento
Stack: Apache Kafka Spark Structured Streaming Python Kubernetes ou managed

Visão geral

Segunda fase da plataforma delivery: em vez de apenas batch diário, ingerir eventos em fluxo para monitorar pedidos entrando, fila crescendo e violações de SLA enquanto acontecem.

Problema

  • Batch de hora em hora não salva pico de 20 minutos.
  • Operação precisa de alerta imediato (fila, loja offline, atraso em cascata).
  • Carreira: domínio de streaming diferencia engenheiro de analista apenas consumindo relatório.

Funcionalidades-alvo

  • Contagem de pedidos por minuto por loja.
  • Lag entre evento na origem e processamento.
  • Alerta quando SLA projetado ultrapassa limite (heurística simples antes de ML).
  • Visualização ao vivo (WebSocket + front leve ou Grafana).

Arquitetura de referência

API / CDC → Kafka topics (orders, status) → Spark Streaming
    → agregações em janela (5 min) → sink (Redis/Postgres) → alertas
  • Idempotência e exactly-once são decisões explícitas; para MVP, at-least-once + dedup pode bastar.

Relação com o case atual

  • O mock API pode publicar em Kafka em paralelo ao batch Parquet.
  • Mesmas regras de auditoria podem rodar em modo janela (versão simplificada).

MVP incremental

  1. Um único topic + consumidor que persiste último estado por pedido.
  2. Regra: “mais de N pedidos em preparo há M minutos” → alerta.
  3. Sem UI complexa: Slack ou e-mail.

Riscos

  • Complexidade operacional (Kafka, estado, replay).
  • Custo de infra em nuvem — começar com cluster gerenciado ou Redpanda local.

Próximo passo

Prototipar produtor Kafka ao lado do FastAPI mock e um consumidor Python que imprime contagem por loja a cada 1 minuto.