Visão Geral
O Curso Kafka Streams for Developers foi criado para desenvolvedores que desejam projetar e implementar aplicações de stream processing em tempo real utilizando o Kafka Streams API.
Durante o treinamento, os participantes aprenderão a construir aplicações baseadas em eventos, transformar fluxos de dados, realizar agregações, joins, e aplicar padrões de design reativos e distribuídos.
O curso é totalmente prático, com foco em implementação de soluções reais, desde os fundamentos até o desenvolvimento de aplicações completas de streaming.
Conteúdo Programatico
Module 1: Introduction to Kafka Streams
- What is Kafka Streams and when to use it
- Kafka Streams vs. Kafka Consumer API vs. Kafka Connect
- Use cases for real-time data processing
- Overview of stream processing concepts
Module 2: Kafka Streams Architecture
- Streams, tables, and state stores
- Stateless vs. stateful operations
- Processing guarantees: at-most-once, at-least-once, exactly-once
- Threading model and scaling out applications
Module 3: Building Your First Kafka Streams Application
- Setting up development environment (Java, Maven/Gradle)
- Creating a basic Kafka Streams application
- Configuring serializers, deserializers, and topology
- Running and testing the stream pipeline locally
Module 4: Stream Transformations and Aggregations
- Filtering, mapping, and branching streams
- Aggregations and windowing concepts
- Counting, reducing, and summarizing events
- Working with KStream and KTable abstractions
Module 5: Stream Joins and Advanced Processing
- Inner, left, and outer joins between streams and tables
- GlobalKTable joins and enrichment patterns
- Stream-stream joins with windowing
- Handling late-arriving and out-of-order data
Module 6: Managing State and Fault Tolerance
- State stores and changelog topics
- Recovery and rebalancing strategies
- Handling application restarts and scaling
- Exactly-once processing semantics in detail
Module 7: Integrating Kafka Streams with Spring Boot
- Introduction to Spring Kafka and Kafka Streams binder
- Creating reactive and event-driven microservices
- Building end-to-end streaming applications
- Hands-on: building a real-time event processing app with Spring Boot
Module 8: Testing, Monitoring, and Deployment
- Unit and integration testing of Kafka Streams topologies
- Observability and monitoring metrics
- Deploying Kafka Streams apps in Docker and Kubernetes
- Performance tuning and troubleshooting
Module 9: Hands-On Project
Project: Develop a real-time analytics pipeline using Kafka Streams to process, aggregate, and visualize event data in a live dashboard.