← Back to microservices patterns mapevents
Microservices Pattern
Event-Driven Communication
Services publish domain events when important business facts happen.
Detailed Description
Events describe facts that already happened. Subscribers decide what to do with those facts.
Use stable event contracts and versioning because events become shared integration APIs.
Visual Diagram
Domain Events
OrderService emits:
→ OrderPlaced { orderId, items, userId }
→ OrderCancelled { orderId, reason }
→ OrderShipped { orderId, trackingId }
Subscribers react:
EmailSvc listens → OrderPlaced
AnalyticsSvc listens → all events
InventorySvc listens → OrderPlaced, OrderCancelledTradeoffs
Pros
Very low coupling, easy to add subscribers
Cons
Harder to trace, duplicate events, eventual consistency
Examples: Kafka events, EventBridge, Node EventEmitter
Domain Events
OrderService emits:
-> OrderPlaced { orderId, items, userId }
-> OrderCancelled { orderId, reason }
-> OrderShipped { orderId, trackingId }
Subscribers react:
EmailSvc listens -> OrderPlaced
AnalyticsSvc listens -> all events
InventorySvc listens -> OrderPlaced, OrderCancelled
Comments
Sign in to leave a comment. Your name and photo come from Google; nothing else is shared.
Loading comments...
All courses
24 courses in 5 subjects
AI
System Design
Backend
- GraphQL8 modules · 69 lessons planned
- Core Python13 modules · 75 lessons planned
- FastAPI5 sections · 20 lessons
- Node.js14 modules · 206 lessons planned
- Node.js Performance7 chapters · 36 topics
- Event Loop Lifecycle6 phases · 3 scenarios
- Docker & Containerization11 modules · 144 lessons planned
- AWS for Developers14 modules · 219 lessons planned
- CI/CD & DevOps Automation10 modules · 134 lessons planned
Frontend
Fundamentals
On this page
0 sections