Description
Introduction
This training explores how Domain-Driven Design (DDD) integrates with event-driven architecture to build reactive, scalable, and loosely coupled systems. Participants will learn to design domain events, implement event flows, and apply patterns that enable real-time and asynchronous microservices communication.
Prerequisites
-
Basic understanding of DDD concepts
-
Familiarity with microservices and REST
-
Knowledge of messaging systems such as Kafka, RabbitMQ, or Azure Service Bus
Table of Contents
1. Foundations of Event-Driven Domain-Driven Design
 1.1 Understanding Domain Events
 1.2 Event Storming Techniques
 1.3 Event-Driven vs Request-Response Models
2. Designing Domain Events
 2.1 Identifying Business Events in the Domain
 2.2 Event Naming, Structure and Versioning
 2.3 Event Publishing and Handling Patterns
3. Event-Driven Architecture Essentials
 3.1 Event Buses and Messaging Infrastructure
 3.2 Event Brokers: Kafka, RabbitMQ, Azure Service Bus
 3.3 Event Delivery Semantics: At-Least-Once, Exactly-Once
4. Integrating DDD with Event-Driven Systems
 4.1 Event Sourcing Fundamentals
 4.2 CQRS with Event-Driven DDD
 4.3 Aggregates, Commands, and Event Flows
5. Microservices with Domain Events
 5.1 Choreography vs Orchestration
 5.2 Handling Distributed Transactions
 5.3 Ensuring Consistency Across Bounded Contexts
6. Implementation & Best Practices
 6.1 Designing Event Schemas and Contract Testing
 6.2 Replay, Recovery, and Event Persistence
 6.3 Observability: Tracing, Logging and Monitoring Event Flows
By the end of this training, participants will be able to design and implement event-driven systems rooted in DDD principles, ensuring scalability, resiliency, and business alignment in modern architectures.







Reviews
There are no reviews yet.