Ingestão
Objetos no S3 disparam mensagens SQS para iniciar processamento assíncrono.
Serviço de streaming
Pipeline orientado a eventos para processar mídia com Go, SQS, S3, FFmpeg e Kafka.
Visão técnica
O fluxo separa ingestão, processamento e entrega de mídia usando S3, SQS, workers Go, FFmpeg e Kafka.
fluxo assíncrono de processamento e progresso
Objetos no S3 disparam mensagens SQS para iniciar processamento assíncrono.
Workers em Go executam FFmpeg e produzem chunks e artefatos.
Eventos Kafka são publicados após confirmação do upload de cada chunk processado.
Fluxo de execução
O fluxo separa ingestão, processamento e entrega de mídia usando S3, SQS, workers Go, FFmpeg e Kafka.
UPLOAD -> CLAIM JOB -> FFMPEG -> ARTIFACTS -> EVENT PUBLISHED
O processamento inicia por SQS em vez de ficar preso a uma requisição síncrona.
O job gera chunks e artefatos, mantendo a mensagem ativa durante processamentos longos.
Depois do upload no S3, eventos Kafka comunicam o avanço do processamento.
Decisões de engenharia
S3, SQS, Go, FFmpeg, S3 e Kafka definem etapas claras entre ingestão e entrega.
A mensagem só é removida da fila depois da conclusão bem-sucedida do processamento.
Eventos Kafka são emitidos após confirmação do upload de cada chunk processado.
Controles de risco
A renovação de visibility timeout evita que jobs em andamento sejam perdidos durante processamentos longos.
Prometheus, health checks e logs estruturados sustentam visibilidade operacional.
Stack
Resultado
O projeto demonstra processamento orientado a eventos com confirmação de progresso e controles para jobs longos.