Notification Service System Design
Design a multi-channel notification service for email, SMS, push and in-app messages.
What is a Notification Service?
A notification service delivers alerts to users across channels such as email, SMS, push notification and in-app inbox.
Requirements
- Send notifications
- Support multiple channels
- Retry failed delivery
- Track delivery status
- Store user preferences
Architecture
Producer Service → Notification API → Message Queue → Channel Workers
↓
Notification DB
Reliability
Use retry with exponential backoff, dead-letter queue, idempotency key and delivery status tracking.