Visão Geral
Este curso apresenta os fundamentos do Kafka Streams, biblioteca para construção de aplicações de processamento de streams sobre o Apache Kafka. O participante aprenderá os principais conceitos de stream processing, incluindo KStream, KTable, GlobalKTable, processors, state stores, joins, windowing, aggregation e transformação de dados. O curso também aborda escalabilidade, tolerância a falhas, processamento com estado e boas práticas para desenvolvimento de aplicações de streaming em tempo real.
Conteúdo Programatico
Module 1: Kafka Streams Architecture and Fundamentals
- Stream processing concepts
- Kafka Streams overview
- Kafka Streams architecture
- Streams and Tables
- Kafka Streams applications
- Processing topology
Module 2: KStream, KTable and GlobalKTable
- KStream fundamentals
- KTable fundamentals
- GlobalKTable
- Stream-table duality
- Choosing between KStream and KTable
- Use cases
Module 3: Stream Transformations
- Filter operations
- Map and FlatMap
- SelectKey
- Branch
- Transform
- Stateless processing
Module 4: Aggregations and State Stores
- Grouping operations
- Reduce
- Aggregate
- Count
- State Stores
- Stateful stream processing
Module 5: Joins and Windowing
- Stream-Stream joins
- Stream-Table joins
- Table-Table joins
- Time windows
- Tumbling and Sliding Windows
- Session Windows
Module 6: Processing Guarantees and Fault Tolerance
- At-least-once processing
- Exactly-once processing
- State recovery
- Changelog topics
- Fault tolerance
- Failure recovery
Module 7: Scalability and Performance
- Kafka Streams task model
- Partition-based parallelism
- Application scaling
- Repartitioning
- Performance optimization
- Resource management
Module 8: Kafka Streams Fundamentals Workshop
- Kafka Streams application setup
- Stream transformation implementation
- Aggregation and state store implementation
- Windowing and join exercises
- Monitoring and troubleshooting
- Final Kafka Streams streaming application project