Sistemas de streaming populares
Conceitos de Streaming
Mike Metzger
Data engineer
Ferramentas de streaming
- Várias ferramentas disponíveis conforme a necessidade
- Permite escolher a melhor ferramenta para a tarefa
- Sistemas comuns incluem:
- Celery
- Kafka
- Spark Streaming
Celery
- Fila de tarefas distribuída / FIFO
- Usada principalmente como fila de jobs ou tarefas
- Muito usada para tarefas assíncronas
- Enviar e-mails de redefinição de senha
- Atender pedidos digitais
- Redimensionar imagens
- Permite processamento em tempo real de grande volume de mensagens
- Oferece recursos de gerenciamento e escalabilidade (vertical e horizontal)
Apache Kafka
- Sistema de streaming de eventos distribuído
- Projetado para enviar eventos entre produtores e consumidores
- Produtores criam eventos em um tópico
- Tópicos são basicamente mensagens de um formato definido
- Consumidores recebem novos eventos
- Consumidores diferentes podem tratar eventos conforme necessário (log, transformações, encaminhamento etc.)
- Faz o armazenamento de eventos conforme especificado
- Extremamente poderoso, mas pode ser complicado de configurar

Aplicações do Kafka
- Melhor para passar dados entre vários sistemas
- Única fonte da verdade
- Captura de alterações de dados
- Backups de dados
- Migrações de sistemas de dados
Spark Streaming
- Parte do Apache Spark
- Projetado para processar dados em streaming
- Aproveita o Spark para processar dados em Scala, Python, SQL e mais
- Útil para processar grandes volumes de dados e em cenários de Machine Learning
- Consegue migrar de batch para stream com facilidade
- Não foi feito para armazenar ou registrar eventos, mas sim para processar ou modificar os dados
Vamos praticar!
Conceitos de Streaming
Preparing Video For Download...