Visão Geral
O curso Event-Driven Applications with Apache Kafka foi projetado para desenvolvedores e engenheiros de software que desejam dominar a criação de aplicações baseadas em eventos utilizando o Apache Kafka, a plataforma de streaming mais popular do mercado.
Durante o treinamento, o participante aprenderá a instalar, configurar e operar clusters Kafka, bem como desenvolver produtores e consumidores de mensagens em múltiplas linguagens, integrar microserviços e implementar pipelines de dados em tempo real.
A formação é intensiva e prática, com laboratórios individuais que simulam cenários reais de integração e arquitetura corporativa, preparando o aluno para desafios técnicos de alta complexidade em ambientes distribuídos.
Informações Gerais
Metodologia
Curso ao vivo via Microsoft Teams (Hands-On), com:
- Instrutor/consultor ativo no mercado e docente em sala de aula
- Curso prático, com um aluno por micro
- Laboratório individual disponibilizado no dia do curso
- Apostilas e materiais exclusivos
- Método de aprendizado ativo, combinando teoria e prática em todos os módulos
Recursos de Software Utilizados
- Apache Kafka (versão estável mais recente)
- Zookeeper
- Kafka UI / Kafdrop
- Docker e Docker Compose
- Prometheus e Grafana
- PostgreSQL (para integração de dados)
- Visual Studio Code / IntelliJ IDEA / PyCharm
Resultado Final
Ao concluir o curso, o participante estará apto a:
- Projetar e desenvolver sistemas baseados em eventos com Apache Kafka
- Criar produtores, consumidores e pipelines de dados em tempo real
- Integrar Kafka a microserviços, APIs e bancos de dados
- Aplicar boas práticas de segurança, desempenho e resiliência
- Atuar profissionalmente como Kafka Developer, Event Streaming Engineer ou Integration Specialist
Conteúdo Programatico
Módulo 1 – Fundamentos e Arquitetura do Apache Kafka
- Introdução ao conceito de event streaming
- Arquitetura do Kafka: brokers, tópicos, partições, offsets e réplicas
- Funcionamento dos producers e consumers
- Entendendo consumer groups e paralelismo
- Casos de uso: pipelines de dados, IoT, processamento de logs, integrações
- Comparativo: Kafka vs RabbitMQ vs ActiveMQ
Laboratório 1: Instalar o Kafka e enviar a primeira mensagem com produtor e consumidor.
Módulo 2 – Configuração e Administração
- Instalação e configuração do Kafka e Zookeeper
- Criação e gerenciamento de tópicos e partições
- Configuração com Docker e Docker Compose
- Entendendo parâmetros de replicação, retenção e compactação
- Uso de ferramentas gráficas (Kafka UI e Kafdrop)
- Estrutura e armazenamento interno de logs
Laboratório 2: Criar e gerenciar tópicos, simular falha de broker e recuperação automática.
Módulo 3 – Desenvolvimento de Aplicações Kafka
- API de produtores e consumidores
- Serialização e desserialização (String, JSON, Avro)
- Entendendo chaves e particionamento
- Controle de offset manual e automático
- Modos de entrega (at least once, at most once, exactly once)
- Boas práticas de desenvolvimento
Laboratório 3: Criar uma aplicação de processamento de pedidos em tempo real.
Módulo 4 – Processamento de Dados em Tempo Real com Kafka Streams
- Introdução ao Kafka Streams API
- Operações de transformação (map, filter, join, aggregate)
- Janelas temporais e controle de estado (windowing)
- Aplicações stateful e stateless
- Comparativo entre Kafka Streams e Spark Streaming
Laboratório 4: Construir um fluxo de análise de eventos em tempo real.
Módulo 5 – Integração com Outros Sistemas
- Introdução ao Kafka Connect
- Conectores Source e Sink
- Integração com PostgreSQL, MongoDB, Elasticsearch e Amazon S3
- Uso do Schema Registry e controle de compatibilidade
- Estratégias de versionamento e schema evolution
Laboratório 5: Criar um pipeline de integração Kafka ↔ Banco de Dados.
Módulo 6 – Segurança e Alta Disponibilidade
- Autenticação com SASL/PLAIN e SASL/SCRAM
- Configuração de SSL/TLS
- Controle de acesso com ACLs
- Estratégias de alta disponibilidade e failover
- Backup, recuperação e resiliência de dados
Laboratório 6: Configurar autenticação e simular falha de nó em cluster replicado.
Módulo 7 – Monitoramento e Performance
- Monitoramento com Prometheus e Grafana
- Principais métricas: throughput, lag, latência e erros
- Uso do Kafka Manager e Kafdrop para auditoria
- Técnicas de tuning em produtores e consumidores
- Gerenciamento de logs e diagnóstico de falhas
Laboratório 7: Construir dashboard de monitoramento Kafka no Grafana.
Módulo 8 – Projeto Prático Final
Desafio Real:
Desenvolver e apresentar uma aplicação completa baseada em eventos:
- Microserviço produtor → Kafka → Microserviço consumidor
- Processamento em tempo real de dados de transações
- Persistência em banco de dados
- Monitoramento, métricas e segurança implementadas
- Apresentação final e documentação técnica
Entrega: Código-fonte, relatório técnico e demonstração prática.