Destino Dev

Cursos

Apache Kafka para Desenvolvedores Java

Código do curso: github.com/johnpires/apache-kafka-desenvolvedores-java

Domine o Apache Kafka no ecossistema Java com este curso avançado e completo. Você aprenderá desde os fundamentos da arquitetura distribuída de mensageria até padrões avançados de produção, consumo e processamento de streams em tempo real. O curso aborda tópicos como particionamento, replicação, garantias de entrega, Kafka Streams, Connect e Schema Registry.

Ao longo do curso, você construirá aplicações reais usando Spring Boot com Spring Kafka, implementando producers e consumers robustos, lidando com serialização Avro, monitoramento com métricas JMX e deploy em ambientes containerizados com Docker. Também exploraremos padrões como Event Sourcing, CQRS com Kafka e estratégias de escalabilidade horizontal.

Este curso é ideal para desenvolvedores Java que já possuem experiência com Spring Boot e desejam dominar sistemas distribuídos baseados em eventos, preparando-se para arquiteturas de microsserviços de alta performance em produção.

Conteúdo do curso

Módulo 1: Fundamentos do Apache Kafka

Conceitos fundamentais de mensageria distribuída e arquitetura do Kafka

  1. O que é Apache Kafka e por que usá-lo (2 min)
  2. Arquitetura do Kafka: Brokers, Clusters e ZooKeeper/KRaft (3 min)
  3. Tópicos, Partições e Offsets (3 min)
  4. Modelo de Produção e Consumo de Mensagens (3 min)
  5. Garantias de Entrega: At-most-once, At-least-once e Exactly-once (3 min)
  6. Replicação e Tolerância a Falhas (4 min)
  7. Instalação e Configuração do Kafka com Docker (3 min)

Módulo 2: Spring Kafka — Producers

Implementação de producers robustos com Spring Boot e Spring Kafka

  1. Configurando Spring Boot com Spring Kafka (3 min)
  2. Criando seu Primeiro Producer (3 min)
  3. Serialização de Mensagens: String, JSON e Avro (3 min)
  4. Particionamento Customizado e Chaves de Mensagem (3 min)
  5. Callbacks, Acks e Configurações de Confiabilidade (4 min)
  6. Transações no Kafka Producer (3 min)
  7. Boas Práticas e Padrões para Producers em Produção (5 min)

Módulo 3: Spring Kafka — Consumers

Implementação de consumers escaláveis e resilientes com Spring Kafka

  1. Configurando Consumers com @KafkaListener (4 min)
  2. Consumer Groups e Rebalanceamento de Partições (4 min)
  3. Controle Manual de Offset e Commit Strategies (4 min)
  4. Tratamento de Erros e Dead Letter Topics (4 min)
  5. Retry e Backoff com Spring Kafka (5 min)
  6. Consumers Concorrentes e Paralelismo (4 min)
  7. Monitoramento e Métricas de Consumers (5 min)

Módulo 4: Kafka Streams e Processamento em Tempo Real

Processamento de streams em tempo real com Kafka Streams API e Spring

  1. Introdução ao Kafka Streams e Topologias (2 min)
  2. KStream vs KTable: Streams e Tabelas (3 min)
  3. Operações de Transformação: Map, Filter e FlatMap (3 min)
  4. Joins entre Streams e Tabelas (3 min)
  5. Agregações e Windowing (Janelas Temporais) (3 min)
  6. State Stores e Processamento Stateful (4 min)
  7. Kafka Streams com Spring Boot: Integração Completa (4 min)

Módulo 5: Kafka Connect e Schema Registry

Integração de dados com Kafka Connect e governança de schemas com Schema Registry

  1. Kafka Connect: Arquitetura e Conceitos (5 min)
  2. Source Connectors: Capturando Dados de Bancos de Dados (CDC) (4 min)
  3. Sink Connectors: Exportando Dados para Elasticsearch e S3 (6 min)
  4. Schema Registry: Governança de Schemas com Avro (4 min)
  5. Evolução de Schemas e Compatibilidade (5 min)
  6. Configurando Kafka Connect em Modo Distribuído (4 min)
  7. Desenvolvendo Connectors Customizados (5 min)

Módulo 6: Observabilidade, Deploy e Projeto Final

Monitoramento, deploy em produção e projeto final completo com Kafka

  1. Monitoramento do Kafka com JMX e Prometheus (4 min)
  2. Dashboards com Grafana para Kafka (3 min)
  3. Logging Estruturado e Tracing Distribuído (4 min)
  4. Deploy do Kafka em Producao com Docker Compose (8 min)
  5. Seguranca no Kafka: SSL, SASL e ACLs (8 min)
  6. Tuning de Performance e Capacity Planning (8 min)
  7. Projeto Final: Sistema de Processamento de Eventos em Tempo Real (2 min)
  8. Projeto Final: Implementacao Completa com Spring Boot + Kafka (3 min)