Escalonando sistemas de streaming horizontalmente

Conceitos de Streaming

Mike Metzger

Data Engineer

Revisão de escalonamento horizontal

  • Em vez de escalar "para cima", escale "para os lados"
  • Normalmente significa adicionar capacidade de processamento adicionando mais recursos, não tornando-os mais rápidos/melhores
  • Funciona melhor em situações altamente paralelizáveis
    • Tarefas que podem ser divididas facilmente
    • Ex.: processar um grande conjunto de imagens independentes
Conceitos de Streaming

Escalonamento horizontal com streaming

  • Processamento de dados em streaming costuma ter atrasos mínimos
  • Pode tornar a transferência de dados entre workers complicada
  • O ideal é processar um fluxo inteiro em um único pipeline
  • Crie cópias dos pipelines
Conceitos de Streaming

Cópias de pipeline

  • Quando eventos ocorrem, eles entram primeiro em um pipeline
  • Todas as tarefas desse processo ficam contidas no próprio pipeline até a conclusão
  • Escale adicionando mais pipelines
  • Ainda é possível escalar verticalmente dentro de um pipeline
Conceitos de Streaming

Considerações adicionais

  • Outros componentes podem ser necessários
  • Balanceador de carga / direcionador
    • Distribuidor de cartas
    • Nó menos ocupado
  • Eventualmente surgem gargalos
    • Desempenho de escrita em disco
  • Considere encurtar o pipeline de streaming
    • Remover a necessidade de processar dados imediatamente
Conceitos de Streaming

Vamos praticar!

Conceitos de Streaming

Preparing Video For Download...