Visão Geral
O Curso Kafka with Spring Boot and Docker foi desenvolvido para desenvolvedores e engenheiros de dados que desejam construir aplicações baseadas em eventos com Spring Boot e gerenciá-las em ambientes Dockerizados.
Durante o treinamento, os participantes aprenderão a criar producers e consumers, configurar topologias Kafka, integrar aplicações Spring Boot com Kafka e utilizar Docker para ambientes de desenvolvimento e produção.
O curso combina teoria, exemplos práticos e laboratórios, permitindo que os alunos construam aplicações escaláveis, resilientes e prontas para produção.
Conteúdo Programatico
Module 1: Introduction to Kafka with Spring Boot
- Overview of Kafka in event-driven architectures
- Spring Boot and Kafka integration basics
- Key components: producers, consumers, topics, and brokers
- Setting up development environment
Module 2: Spring Boot Kafka Producers and Consumers
- Configuring KafkaTemplate and KafkaListener
- Sending and receiving messages
- Error handling and retries
- Serialization with Avro, JSON, and Protobuf
Module 3: Advanced Kafka Features with Spring Boot
- Using Kafka Streams API in Spring Boot
- Implementing filtering, aggregation, and joins
- Handling stateful operations and windowing
- Transactional messaging and idempotency
Module 4: Docker Basics for Kafka and Spring Boot
- Introduction to Docker and containerization
- Creating Dockerfiles for Spring Boot applications
- Running Kafka and Zookeeper in Docker containers
- Using Docker Compose for multi-container orchestration
Module 5: Building Microservices with Kafka
- Event-driven microservices design patterns
- Decoupling services using Kafka topics
- Communication patterns: pub-sub, event sourcing
- Implementing request-reply and asynchronous workflows
Module 6: Monitoring, Logging, and Resilience
- Logging and monitoring Kafka consumers and producers
- Using Spring Boot Actuator with Kafka metrics
- Handling retries, dead-letter queues, and error recovery
- Configuring containerized applications for resilience
Module 7: Deployment and Scaling
- Building and running Docker images
- Deploying Kafka-enabled Spring Boot apps in Docker Compose
- Scaling producers, consumers, and clusters
- Best practices for production deployment
Module 8: Hands-On Project
Project: Build a fully containerized Spring Boot microservice architecture using Kafka, with producers, consumers, streams processing, logging, monitoring, and deployment using Docker Compose.