Overview
The Notification Service is responsible for managing and delivering notifications to users and other services. It supports various notification channels such as email, SMS, push notifications, and in-app notifications. The service ensures reliable and timely delivery of messages and integrates with other services to trigger notifications based on specific events.
Core features
Feature | Description |
---|---|
Multi-Channel Delivery | Supports notifications via email, SMS, push notifications, and in-app messages |
Template Management | Customizable notification templates with dynamic content placeholders |
Delivery Status Tracking | Real-time tracking and monitoring of notification delivery status |
Rate Limiting | Prevents notification flooding through configurable rate limits |
Priority Queue | Handles urgent notifications with priority delivery mechanisms |
Batch Processing | Efficiently processes and sends bulk notifications |
Retry Mechanism | Automatic retry logic for failed notification deliveries |
Event-Driven Notifications | Triggers notifications based on system events and user actions |
Architecture diagram
Core Concepts
- Description: A message that is sent to a user or a service.
- Attributes: notificationId, type, recipient, content, channel, status, timestamp
- Description: The medium through which the notification is delivered (e.g., email, SMS, push notification).
- Attributes: channelId, name, provider, configuration
Infrastructure
The Notification Service is hosted on AWS.
The diagram below shows the infrastructure of the Notification Service. The service is hosted on AWS and uses AWS Lambda to handle the notification requests. The notification is stored in an AWS Aurora database and the notification metadata is stored in an AWS S3 bucket.
Loading graph...
You can find more information about the Notification Service infrastructure in the Notification Service documentation.