EV

Event-Driven Architecture

Event sourcing, CQRS, and message-driven patterns

Details

Language / Topic
_UUniversal
Category
Architecture

Rules

balanced
- Use domain events to decouple producers from consumers. Events are immutable facts.
- Design idempotent event handlers — events may be delivered more than once.
- Design events as immutable facts (past tense: `OrderPlaced`, `UserCreated`) — consumers must be idempotent since events can be replayed.
- Name events in past tense (`OrderPlaced`, `UserRegistered`) — they describe what happened.
- Separate read models (queries) from write models (commands) when read/write patterns diverge.
- Use message brokers (Kafka, RabbitMQ, SQS) for reliable event delivery between components.