0
0
LLDsystem_design~12 mins

Notification to all parties in LLD - Architecture Diagram

Choose your learning style9 modes available
System Overview - Notification to all parties

This system sends notifications to all relevant parties efficiently and reliably. It supports multiple notification channels like email, SMS, and push notifications, ensuring messages reach users promptly.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
Notification Service
  |           |           |
  v           v           v
Email Service SMS Service Push Service
  |           |           |
  v           v           v
Email Server  SMS Gateway Push Server
  |
  v
Database
  |
  v
Cache
Components
User
client
Initiates notification requests
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Routes requests to Notification Service and handles authentication
Notification Service
service
Processes notification requests and sends to appropriate channel services
Email Service
service
Formats and sends email notifications
SMS Service
service
Formats and sends SMS notifications
Push Service
service
Formats and sends push notifications
Email Server
external_service
Delivers emails to recipients
SMS Gateway
external_service
Delivers SMS messages to recipients
Push Server
external_service
Delivers push notifications to devices
Database
database
Stores user contact info and notification logs
Cache
cache
Stores frequently accessed user data for faster retrieval
Request Flow - 17 Hops
UserLoad Balancer
Load BalancerAPI Gateway
API GatewayNotification Service
Notification ServiceCache
CacheNotification Service
Notification ServiceDatabase
DatabaseNotification Service
Notification ServiceEmail Service
Notification ServiceSMS Service
Notification ServicePush Service
Email ServiceEmail Server
SMS ServiceSMS Gateway
Push ServicePush Server
Notification ServiceDatabase
Notification ServiceAPI Gateway
API GatewayLoad Balancer
Load BalancerUser
Failure Scenario
Component Fails:Database
Impact:Notification service cannot retrieve or log user info; notifications may be delayed or incomplete
Mitigation:Use cache for reads to serve recent user info; queue logs for later retry; implement database replication for high availability
Architecture Quiz - 3 Questions
Test your understanding
Which component is responsible for distributing incoming user requests evenly?
ANotification Service
BLoad Balancer
CAPI Gateway
DCache
Design Principle
This design uses layered components to separate concerns: load balancing for traffic distribution, API gateway for routing and security, a dedicated notification service for processing, and specialized channel services for delivery. Caching improves performance by reducing database load. The system supports multiple notification channels and logs activity for reliability.