Design Notification System

 Functional Requirements:

  • Push notification should be send to subscribers
  • System should be able to prioritise the notification. Example : OTP is the highest priority notification
  • No same notification should be send twice. Avoid duplicate notification
  • Retry Mechanism
  • Single or bulk notification
  • Log notification status, dispatched, delivered, seen


Non Functional Requirements:

  • Notification system should be highly available and reliable.
  • No duplicate message
  • Message should not be loss.
High Level Architecture Diagram:


Component Wise Diagram (As above diagram is too small to visualise)

1. Load Balanacer and API Gateway:




2. Databases:




3. Prioritiser and Router:



4. Router, Queue,Workers and Third party Modules:




 App registration flow:










Comments

Popular posts from this blog

Distributed Lock with Redlock

Distributed Transaction

Storage Engine