Visão Geral
O curso Event Sourcing & CQRS Kafka RabbitMQ oferece uma imersão prática nos padrões arquiteturais modernos para sistemas distribuídos baseados em eventos. O aluno aprenderá a projetar e implementar aplicações resilientes e escaláveis utilizando Event Sourcing (armazenamento orientado a eventos) e CQRS (Command Query Responsibility Segregation), com o suporte das plataformas de mensageria Apache Kafka e RabbitMQ.
Durante o curso, o participante entenderá como capturar, armazenar, transmitir e processar eventos em tempo real, aplicando técnicas que aumentam a consistência, disponibilidade e auditabilidade das aplicações.
O treinamento combina conceitos teóricos, design arquitetural e prática com código, integrando microservices, bancos de eventos e filas de mensagens.
Objetivo
Após realizar este curso Event Sourcing & CQRS Kafka RabbitMQ, você será capaz de:
- Compreender os princípios e benefícios de Event Sourcing e CQRS.
- Projetar sistemas distribuídos orientados a eventos.
- Utilizar Apache Kafka e RabbitMQ para gerenciar fluxos de mensagens e eventos.
- Implementar estratégias de persistência e leitura separadas (CQRS pattern).
- Garantir consistência eventual e tolerância a falhas em microservices.
- Integrar pipelines de eventos com sistemas de análise e monitoramento.
Publico Alvo
- Desenvolvedores, arquitetos de software, engenheiros de integração, engenheiros de dados e profissionais DevOps interessados em dominar padrões de arquitetura baseados em eventos e mensageria assíncrona.
Pre-Requisitos
- Conhecimento intermediário em programação (Java, C#, Python ou Node.js).
- Noções de microservices e mensageria.
- Conhecimento básico em Docker e containers.
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Module 1: Introduction to Event-Driven Architecture
- What is Event-Driven Architecture (EDA)?
- Event Sourcing and CQRS overview
- Difference between transactional and event-based systems
- Benefits: scalability, traceability, and resilience
- Real-world use cases and architectural patterns
Module 2: Event Sourcing Fundamentals
- Core concepts: events, aggregates, and event stores
- Event lifecycle: capture, store, replay, and react
- Event schema design and versioning
- Implementing an event store with Kafka topics
- Event replay, audit logs, and system state reconstruction
Module 3: Command Query Responsibility Segregation (CQRS)
- Understanding CQRS pattern
- Command and Query separation principles
- Write model vs read model
- Integrating CQRS with Event Sourcing
- Eventual consistency and read model synchronization
Module 4: Messaging with Apache Kafka
- Kafka architecture: brokers, topics, partitions, and offsets
- Producers, consumers, and consumer groups
- Schema Registry and Avro for event contracts
- Streams processing with Kafka Streams and kSQL
- Building event-driven microservices with Kafka
Module 5: Messaging with RabbitMQ
- RabbitMQ architecture: exchanges, queues, bindings, and routing keys
- AMQP protocol fundamentals
- Implementing Pub/Sub and Work Queue patterns
- Message acknowledgment, persistence, and dead-letter queues
- Integration with Spring Boot, .NET, and Node.js
Module 6: Integrating Event Sourcing, CQRS, Kafka, and RabbitMQ
- Designing a hybrid messaging architecture
- Choosing between Kafka and RabbitMQ
- Event routing and data transformation patterns
- Orchestrating event flows between systems
- Deploying components with Docker and Kubernetes
Module 7: Observability and Monitoring
- Logging and tracing event flows
- Metrics collection with Prometheus and Grafana
- Monitoring Kafka and RabbitMQ clusters
- Handling failures, retries, and poison messages
- Ensuring data integrity and replay safety
Module 8: Hands-On Labs and Capstone Project
- Implementing Event Sourcing with Kafka
- Applying CQRS in a microservices architecture
- Building an event-driven system using RabbitMQ
- Final project: Real-time event sourcing system integrating Kafka + RabbitMQ
- Performance testing and scaling exercises
TENHO INTERESSE