Visão Geral
O curso Stream Processing with Kafka Streams and ksqlDB apresenta os conceitos fundamentais, a arquitetura e as práticas avançadas para construir aplicações de processamento de streams em tempo real utilizando Kafka Streams (framework nativo em Java/Scala) e ksqlDB (Streaming SQL).
Os participantes aprenderão a criar aplicações stateful com Kafka Streams, gerenciar estado, criar topologias complexas e complementar pipelines com consultas SQL contínuas usando ksqlDB.
O treinamento combina teoria com laboratórios práticos em ambiente isolado para cada aluno, seguindo as melhores práticas do mercado.
Conteúdo Programatico
1. Introduction to Stream Processing
- What is stream processing
- Batch vs. Streaming
- Event-driven architectures
- Kafka Streams vs. ksqlDB: When to use each
2. Kafka Streams Fundamentals
- Kafka Streams architecture
- Streams, KStreams, KTables
- Stateless operations (map, filter, flatMap)
- Stateful operations (aggregations, joins)
- Windowing concepts
3. Kafka Streams Development
- Building a Streams application
- Topology API
- Serdes and serialization formats
- State stores and RocksDB
- Handling rebalances
- Interactive queries
4. Advanced Kafka Streams
- Processor API vs. DSL
- Custom processors and transformers
- Error handling and DLQ strategies
- Exactly-once semantics
- Fault tolerance and standby replicas
- Scaling Kafka Streams applications
5. ksqlDB Fundamentals
- What is ksqlDB
- Streams and Tables in ksqlDB
- Persistent and transient queries
- SQL operations for real-time processing
6. Building Streaming Pipelines with ksqlDB
- Filtering and transforming data
- Creating materialized views
- Aggregations with windows
- Stream-stream, stream-table, and table-table joins
- Using the Schema Registry with ksqlDB
7. Integrating Kafka Streams and ksqlDB
- Coordinating processing between Streams and ksqlDB
- Using ksqlDB to prototype pipelines
- Offloading transformations to ksqlDB
- Enriching Streams applications using ksqlDB tables
- Operational patterns
8. Serialization, Schema, and Formats
- Avro, JSON, Protobuf
- Working with Schema Registry
- Managing schema evolution
- Handling incompatible changes
9. Operations, Monitoring, and Troubleshooting
- Monitoring Kafka Streams metrics
- Monitoring ksqlDB queries
- Debugging serialization issues
- Understanding internal topics
- Scaling and resource planning
10. Real-Time Architecture Patterns
- Event sourcing
- CQRS with Kafka
- Real-time ETL pipelines
- Fraud detection
- Anomaly detection
- Data enrichment pipelines
11. Hands-on Labs
- Creating a Kafka Streams application
- Using windowed and session-based aggregations
- Implementing joins with KStream and KTable
- Deploying ksqlDB + Kafka environment
- Creating streaming SQL pipelines
- Integrating Kafka Streams with ksqlDB
- Debugging and optimizing pipelines
12. Best Practices
- Designing robust event schemas
- Choosing keys and partition strategies
- Minimizing reprocessing
- Managing state store size and performance
- Production deployment guidelines