Multi-channel notification orchestration
Your task
Design a multi-channel notification orchestration service. Internal services emit 'notify user U about event E'; the service decides channel (push, SMS, email, in-app), respects per-user preferences and quiet hours, deduplicates so a user isn't pinged 5 times for the same logical event from 5 services, batches digestible low-priority notifications, and honors rate limits/opt-outs. Scale: 50M users, 200K notify requests/sec at peak.
It covers
- Multi channel
- Deduplication
- Preference routing