Guia de confiabilidade do Dataflow

Last reviewed 2023-08-07 UTC

O Dataflow é um serviço de processamento de dados totalmente gerenciado que permite o desenvolvimento rápido e simplificado de pipelines de dados de streaming usando bibliotecas do Apache Beam de código aberto. O Dataflow minimiza a latência, o tempo de processamento e o custo usando escalonamento automático e processamento em lote.

Práticas recomendadas

Como criar pipelines de dados prontos para produção usando o Dataflow: uma série de documentos que aborda o uso do Dataflow, incluindo planejamento, desenvolvimento, implantação e monitoramento de pipelines do Dataflow.

  • Visão geral: introdução aos pipelines do Dataflow.
  • Planejamento: como medir SLOs, entender o impacto de coletores e fontes de dados na escalonabilidade e no desempenho do pipeline e como considerar a alta disponibilidade, a recuperação de desastres e o desempenho da rede ao especificar as regiões para executar os jobs do Dataflow.
  • Desenvolvimento e testes: como configurar ambientes de implantação, evitar a perda de dados usando filas de mensagens inativas para tratamento de erros e como reduzir a latência e o custo minimizando operações caras por elemento. Além disso, com o uso de lotes para reduzir a sobrecarga de desempenho sem sobrecarregar os serviços externos, unificar etapas mescladas de maneira inadequada para que as etapas sejam separadas e melhorar o desempenho, e executar testes completos na pré-produção para garantir que o pipeline continue a atender aos SLOs e a outros requisitos de produção.
  • Implantação: integração contínua (CI) e entrega e implantação contínuas (CD), com considerações especiais para implantar novas versões de pipelines de streaming. Veja também um exemplo de pipeline de CI/CD e alguns recursos para otimizar o uso de recursos. Por fim, abordamos a alta disponibilidade, a redundância geográfica e as práticas recomendadas para a confiabilidade do pipeline, incluindo isolamento regional, uso de snapshots, tratamento de erros de envio de jobs e recuperação de erros e interrupções dos serviços que afetam a execução de pipelines.
  • Monitoramento: observe os indicadores de nível de serviço (SLIs), que são importantes indicadores de desempenho do pipeline, e defina e avalie os objetivos de nível de serviço (SLOs).