Overview
Design a reliable, decoupled notification dispatch system that handles millions of notifications daily across multiple vendor gateways while respecting user preferences and rate limits.
Requirements
- 1Support multiple notification channels: Mobile Push (APNs/FCM), SMS (Twilio), Email (SendGrid), and Web In-App
- 2Prioritization levels: High-priority critical OTP/2FA alerts vs low-priority promotional batches
- 3User preference management (channel opt-outs, frequency caps, and quiet hours)
- 4Idempotency and deduplication to ensure users never receive duplicate transactional alerts
- 5Automatic retry with exponential backoff on vendor gateway failures
Architecture Hints (4)
Target Concepts
#Push Notifications#APNs/FCM#Kafka#Idempotency#Circuit Breaker