System Design Classic
A notification system must reliably deliver messages across push, email, SMS, and in-app channels while respecting user preferences and rate limits. This Azure-native architecture uses Event Grid for fan-out — a single notification event triggers channel-specific delivery pipelines via Service Bus queues, each processed by Azure Functions with independent scaling and retry policies. Essential for product teams adding reliable multi-channel notifications with user preferences, rate limiting, and delivery tracking.
Share this architecture with your network
Event Grid fans out notification events to channel-specific Service Bus queues, each processed by independent Azure Functions. This allows email, SMS, and push to scale independently. Cosmos DB stores user preferences with low-latency reads via change feed integration. Rate limiting per user and per channel is enforced at the Function level using Redis Cache token bucket counters.
Multi-Tenant SaaS Platform
Generic SaaS
Dropbox File Storage System
Dropbox
Chat Application System
System Design Classic
News Feed System
System Design Classic
Search Autocomplete System
System Design Classic
Instagram Photo Sharing System
Instagram / Meta
Notification System
Remix this architecture in Canvas