Visão Geral
Este Curso CQRS with Kafka Streams apresenta, de forma prática e aprofundada, como implementar o padrão CQRS (Command Query Responsibility Segregation) utilizando o Kafka Streams para lidar com comandos, eventos, materializações e consultas em tempo real. Você aprenderá a criar aplicações orientadas a eventos, separando leitura e escrita, garantindo alta performance, escalabilidade e consistência eventual em sistemas distribuídos modernos.
Conteúdo Programatico
Module 1 — CQRS Fundamentals
- What is CQRS?
- Commands, events, and queries
- CQRS vs traditional CRUD
- When (not) to use CQRS
Module 2 — Event-Driven Architecture and Kafka
- Kafka as the backbone for CQRS
- Event logs, partitions, and ordering
- Designing event schemas
Module 3 — Kafka Streams Essentials for CQRS
- Streams DSL and Processor API
- Stateful operations
- Materialized views & KTables
Module 4 — Command Side Implementation
- Command validation
- Producing events to Kafka
- Idempotency and concurrency handling
Module 5 — Event Processing with Kafka Streams
- Event transformation flows
- Enriching events
- Chaining topologies for complex domains
Module 6 — Building Read Models
- KTables and global stores
- Materialized views for fast queries
- Handling deletions, updates, and schema evolution
Module 7 — Consistency & Reliability
- Exactly-once semantics
- Reprocessing and replaying events
- Dealing with versioning and event evolution
Module 8 — Advanced Aggregation & State Management
- Using state stores for CQRS
- Windowed aggregations
- RocksDB performance tuning
Module 9 — Queries in CQRS
- Querying materialized views
- Interactive Queries
- Exposing queries via REST APIs
Module 10 — Error Handling & Recovery
- DLQs, retries, and backoff
- Handling corrupted events
- Ensuring durability and recoverability
Module 11 — Testing CQRS Architectures
- TopologyTestDriver for command and query validation
- Testing projections and materializations
- Integration testing strategies
Module 12 — Deploying CQRS with Kafka Streams
- Containerization and orchestration
- Scaling read and write sides independently
- Blue/green and rolling upgrades
Module 13 — Observability and Monitoring
- Metrics for command and query sides
- Stream processing monitoring
- Tracing end-to-end event flow
Module 14 — Capstone Project
- Build a complete CQRS application
- Command → event → projection → query flow
- Materialized views + API exposure
- Production-ready deployment with monitoring