CHAPTER 17
Design a Notification System
Multi-channel delivery with priorities, preferences, retries and provider failover
Source: PDF p. 54
Core PDF content
| Functional requirements | Non-functional requirements and scale |
|---|---|
| - Send push (iOS/Android), SMS, email and in-app notifications - Templates, localisation, scheduling - Respect user preferences, opt-outs, quiet hours - Delivery tracking and analytics | - Critical messages (OTP) delivered within seconds; bulk can lag - At-least-once with dedupe; never spam the same user twice - 100 M notifications/day (~1,200/s avg, bursts 50x for campaigns) - Resilient to third-party provider outages |
| Quantity | Estimate | Design implication |
|---|---|---|
| Throughput | 100 M/day = ~1,200/s average; a campaign to 20 M users in 10 min = ~33,000/s | Queues absorb bursts; scale workers on lag |
| Priority | OTP/security vs transactional vs marketing | Separate topics or priority lanes so bulk never delays OTP |
| Provider limits | FCM/APNs/SMS gateways throttle per sender | Per-provider rate limiter and batching |
Review questions for this chapter have not been written and reviewed yet. The chapter text above is the full source content.
Try it
References
System Design & AI System Design: The Complete Guide — 2026 Edition, p. 54; figures 38.
Tip: use ← and → keys to move between chapters.