~/questoes/dados
Resiliência em pipelines de produção é a capacidade do sistema se recuperar automaticamente de falhas sem interromper o processamento. Ao lidar com 1 bilhão de linhas diárias, não se trata de evitar que erros ocorram, mas de ter mecanismos para tratá-los de forma inteligente e continuar funcionando.
Implementar retry, dead-letter queues e validações em múltiplas camadas permite que o pipeline identifique dados problemáticos, tente reprocessá-los quando apropriado e os isole para análise posterior, sem parar a operação inteira. Isso é essencial porque em 1 bilhão de linhas, problemas são inevitáveis.
Desativar logs estruturados é contraproducente. Em um pipeline de alta escala, logs estruturados são exatamente o que permite identificar onde e por que falhas ocorrem. Sem eles, você fica cego operacionalmente.
Usar apenas batch processing sem streaming é uma limitação arquitetural, não um mecanismo de resiliência. Além disso, ambas abordagens (batch e streaming) precisam dos mesmos mecanismos de resilência para lidar com falhas.
Aumentar nós do cluster não previne falhas; apenas distribui o processamento. Falhas de rede, dados malformados e erros lógicos continuam acontecendo independentemente do tamanho do cluster. Você continua precisando de mecanismos de tratamento.
Retry automático tenta novamente operações que falharam temporariamente. Dead-letter queues isolam dados problemáticos para análise sem parar o pipeline. Validações em múltiplas camadas detectam problemas cedo. Juntos, esses mecanismos garantem que o pipeline seja robusto e observável.