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 Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h