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
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
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
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
Vamos praticar!
Conceitos de Streaming
Preparing Video For Download...