Curso Kafka with Spring Boot
20 horasVisão Geral
O curso Kafka with Spring Boot explora a integração do Apache Kafka com o framework Spring Boot, uma combinação amplamente utilizada para construir aplicações de streaming e processamento de dados em tempo real. O curso aborda desde a configuração inicial e o desenvolvimento de produtores e consumidores até práticas avançadas de monitoramento e tratamento de falhas em uma arquitetura de microsserviços.
Objetivo
Após realizar este curso Kafka with Spring Boot, você será capaz de:
- Configurar e integrar o Apache Kafka em aplicações Spring Boot.
- Implementar produtores e consumidores de mensagens em Kafka usando Spring Kafka.
- Configurar tópicos e gerenciar partições e replicação no Kafka.
- Monitorar e otimizar o desempenho de aplicações baseadas em Kafka.
- Integrar soluções de monitoramento e tratamento de erros para uma arquitetura resiliente.
Publico Alvo
- Desenvolvedores de software e engenheiros de dados que desejam construir aplicações de streaming em tempo real.
- Profissionais de TI que trabalham com arquiteturas baseadas em microsserviços e precisam de soluções de mensageria.
- Engenheiros de software que desejam integrar Apache Kafka com aplicações Spring Boot para soluções escaláveis.
Pre-Requisitos
- Conhecimento básico de desenvolvimento em Java e familiaridade com Spring Boot.
- Experiência com conceitos de mensageria e arquitetura de microsserviços é vantajosa.
- Conhecimento introdutório em Apache Kafka é um diferencial, mas não essencial.
Materiais
Inglês/Português/Lab PraticoConteúdo Programatico
Introduction to Apache Kafka and Spring Boot
- Overview of Apache Kafka and its role in event-driven architectures.
- Introduction to Spring Boot and Spring Kafka.
- Benefits of integrating Kafka with Spring Boot applications.
Setting Up Kafka and Spring Boot Environment
- Installing and configuring Apache Kafka locally and with Docker.
- Setting up a basic Spring Boot project with Spring Kafka dependencies.
- Configuring Kafka properties in Spring Boot.
Working with Kafka Producers
- Creating and configuring Kafka producers in Spring Boot.
- Sending messages to Kafka topics using Spring Kafka templates.
- Customizing producer properties for performance and reliability.
Working with Kafka Consumers
- Creating Kafka consumers in Spring Boot.
- Consuming messages from Kafka topics and handling data processing.
- Managing consumer groups, offsets, and message acknowledgement.
Kafka Topics, Partitions, and Replication
- Creating and managing Kafka topics with multiple partitions and replication.
- Configuring topic properties for scalability and fault tolerance.
- Understanding Kafka’s partitioning strategy and impact on consumers.
Error Handling and Retries in Kafka Applications
- Implementing error handling strategies for Kafka consumers and producers.
- Configuring retries and error recovery in Spring Kafka.
- Setting up dead-letter topics for failed message processing.
Spring Boot and Kafka Streams API
- Introduction to the Kafka Streams API.
- Implementing stream processing with Kafka Streams and Spring Boot.
- Creating real-time data processing pipelines.
Transactional Messaging with Kafka
- Understanding transactions in Kafka and their importance.
- Implementing Kafka transactions in Spring Boot applications.
- Managing transactional producers and consumers for data consistency.
Testing Kafka Applications in Spring Boot
- Setting up unit and integration tests for Kafka applications.
- Using embedded Kafka brokers for testing.
- Testing producer and consumer functionality with mock data.
Monitoring and Logging in Kafka with Spring Boot
- Configuring logging for Kafka interactions in Spring Boot.
- Monitoring Kafka performance with tools like Prometheus and Grafana.
- Setting up alerts for Kafka metrics and application health.
Securing Kafka Applications
- Configuring authentication and authorization with SASL and SSL.
- Securing message transmission between producers, consumers, and brokers.
- Implementing role-based access control for Kafka topics.