Visão Geral
Curso Apache Kafka Streams Processamento de Fluxo em Tempo Real. Apache Kafka Streams é uma poderosa biblioteca para construir aplicativos de processamento de fluxo de dados em tempo real sobre a plataforma Apache Kafka. Este Curso Apache Kafka Streams Processamento de Fluxo em Tempo Real, oferece uma introdução abrangente ao Kafka Streams, focando na construção de pipelines de dados escaláveis e resilientes que processam e analisam grandes volumes de dados em tempo real. Ao final do curso, você estará preparado para desenvolver e implementar soluções em streaming para casos de uso complexos no mundo real.
Conteúdo Programatico
Introdução ao Apache Kafka Streams
- O que é processamento de fluxo de dados em tempo real?
- Arquitetura do Kafka Streams: visão geral
- Como o Kafka Streams se diferencia de outras ferramentas de processamento
- Casos de uso do Kafka Streams no mercado
2. Configuração do Ambiente de Desenvolvimento
- Preparando o ambiente para desenvolvimento com Kafka Streams
- Integração com o Apache Kafka
- Configuração do projeto em Java/Scala (Maven, Gradle)
- Configurações básicas e propriedades essenciais do Kafka Streams
3. Primeira Aplicação Kafka Streams
- Criando um pipeline simples de fluxo de dados
- Produtores e consumidores de mensagens em tempo real
- Operações básicas com Kafka Streams: map, filter, select
- Executando e testando a aplicação
4. Transformações e Processamento de Fluxos
- Tipos de transformações de dados (map, flatMap, filter)
- Operações de estado (stateful vs stateless)
- Transformações complexas com branches e joins
- Uso de timestamps e controle de tempo no processamento
5. Gerenciamento de Estado com Kafka Streams
- Gerenciamento de estado local no Kafka Streams
- Uso de state stores para agregação de dados
- Materialização de tabelas e streams (KTable e KStream)
- Técnicas de particionamento e balanceamento de carga
6. Operações de Agregação e Juncionamento (Joins)
- Tipos de joins: inner, outer, left e right join
- Join entre streams e entre streams e tabelas
- Uso de agregações para sumarização e contagem de eventos
- Aplicações práticas de joins em tempo real
7. Processamento com Janela de Tempo (Windowing)
- Introdução ao conceito de janelas de tempo (time windows)
- Tipos de janelas (tumbling, sliding, hopping)
- Agregação de dados com janelas de tempo
- Casos de uso de janela de tempo em eventos
8. Integrando Kafka Streams com Serviços Externos
- Integração com bases de dados e sistemas externos
- Uso de Kafka Connect com Kafka Streams
- Processamento de dados de múltiplas fontes
- Boas práticas para integração e ingestão de dados
9. Monitoramento e Gerenciamento de Aplicações Kafka Streams
- Configuração de monitoramento com métricas
- Uso de ferramentas de monitoramento (JMX, Prometheus, Grafana)
- Logs e auditoria no Kafka Streams
- Detectando gargalos de performance e resolvendo problemas
10. Teste e Deploy de Aplicações Kafka Streams
- Testes unitários e de integração em Kafka Streams
- Técnicas para teste de pipelines de dados em tempo real
- Deploy de aplicações Kafka Streams em produção
- Melhores práticas para manter pipelines resilientes e escaláveis
11. Segurança no Kafka Streams
- Autenticação e autorização em pipelines de Kafka Streams
- Uso de SSL/TLS para segurança de dados
- Controle de acesso e boas práticas de segurança
- Estratégias de criptografia em Kafka Streams
12. Casos de Uso Avançados e Desafios de Produção
- Processamento de dados sensíveis e de alto volume
- Análise de eventos em tempo real (detecção de fraudes, análise de logs)
- Casos de uso em IoT, e-commerce e mídia digital
- Implementando soluções de microservices com Kafka Streams