Curso Kafka For Developers Using Spring Boot

  • DevOps | CI | CD | Kubernetes | Web3

Curso Kafka For Developers Using Spring Boot

24 horas
Visão Geral

O curso Kafka for Developers Using Spring Boot foi criado para desenvolvedores que desejam dominar a integração entre Apache Kafka e Spring Boot, construindo aplicações modernas baseadas em eventos (event-driven applications).
Durante o curso, o aluno aprenderá a produzir e consumir mensagens Kafka, implementar microservices reativos, trabalhar com transações e schema registry, além de realizar testes, monitoramento e deploy de aplicações Kafka integradas com Spring Boot em ambientes locais e em nuvem.

Objetivo

Após realizar este Curso Kafka for Developers Using Spring Boot, você será capaz de:

  • Desenvolver aplicações Spring Boot integradas com Apache Kafka.
  • Criar producers e consumers com gerenciamento de mensagens e partições.
  • Aplicar event-driven architecture e microservices reativos.
  • Implementar transações Kafka, error handling e retry policies.
  • Monitorar e otimizar o desempenho de aplicações Kafka.
Publico Alvo
  • Desenvolvedores Java e Kotlin.
  • Engenheiros de software e de integração.
  • Profissionais DevOps que implementam pipelines de mensageria.
  • Arquitetos de software interessados em sistemas event-driven.
Pre-Requisitos
  • Conhecimento básico de Java e Spring Boot.
  • Noções de Apache Kafka (conceitos de tópicos, producers e consumers).
  • Familiaridade com Maven ou Gradle.
  • Conhecimentos básicos de Docker e Linux são recomendados.
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Módulo 1: Fundamentos do Apache Kafka

  1. Conceitos essenciais: tópicos, partições, offsets, producers e consumers.
  2. Garantias de entrega (at-most-once, at-least-once, exactly-once).
  3. Estrutura de cluster, brokers e zookeeper/kraft.
  4. Casos de uso: integração, streaming e event sourcing.

Módulo 2: Ambiente de Desenvolvimento

  1. Instalação e configuração do Kafka via Docker Compose.
  2. Instalação do Spring Boot CLI e dependências do projeto.
  3. Criando um projeto Spring Boot com Spring Initializr.
  4. Configuração do application.yml para Kafka.

Módulo 3: Criando Producers e Consumers com Spring Boot

  1. Configuração de KafkaTemplate e ProducerFactory.
  2. Serialização e desserialização de mensagens (JSON, Avro, String).
  3. Implementando @KafkaListener para consumo de mensagens.
  4. Trabalhando com Consumer Groups e partições.
  5. Envio e leitura de mensagens assíncronas.

Módulo 4: Avançando com Spring Kafka

  1. Mensagens com headers, keys e timestamps.
  2. Criação dinâmica de tópicos com NewTopic.
  3. Configuração de batch listeners e message filtering.
  4. Implementando Dead Letter Topics (DLT).
  5. Transações Kafka com Spring Boot (ChainedKafkaTransactionManager).

Módulo 5: Schema Registry e Avro Integration

  1. Introdução ao Confluent Schema Registry.
  2. Configurando Avro serializers e deserializers.
  3. Evolução de schema e compatibilidade de versão.
  4. Produção e consumo de mensagens Avro em Spring Boot.

Módulo 6: Testes e Monitoramento

  1. Testes unitários com EmbeddedKafkaBroker.
  2. Estratégias de testes de integração com JUnit 5 e Testcontainers.
  3. Monitoramento de aplicações Kafka via Spring Actuator e Micrometer.
  4. Integração com Prometheus e Grafana para métricas de consumo.

Módulo 7: Segurança e Resiliência

  1. Autenticação SASL/SSL no Kafka.
  2. Controle de acesso por ACLs e roles.
  3. Implementação de retry policy e error handling no Spring Kafka.
  4. Estratégias de resiliência e fallback em sistemas distribuídos.

Módulo 8: Deploy e Integração com Microservices

  1. Empacotamento e deploy com Docker.
  2. Comunicação entre múltiplos microservices via Kafka.
  3. Estratégias de escalabilidade horizontal (partições e múltiplos consumers).
  4. Deploy em Kubernetes com Helm Charts.
  5. Integração com Spring Cloud Stream.

Módulo 9: Projeto Prático – Event-Driven Application

  1. Criação de um sistema completo baseado em eventos:
  2. Microservice Producer (API REST → Kafka).
  3. Microservice Consumer (Kafka → PostgreSQL).
  4. Monitoramento em tempo real com Actuator e Grafana.
  5. Demonstração fim a fim do fluxo de mensagens.
  6. Análise de logs e troubleshooting.
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Apache NiFi e Hadoop DataFlow Engineering

40 horas

Curso Apache Kafka Data Streaming

24 horas

Curso Python Software Development

24 horas