Skip to content

Notification Send Flow

Jon Freer edited this page Nov 5, 2018 · 3 revisions

Event Sequence

The most critical flow within the system is the notification send flow. Clients of noti indicate that they would like to create a notification, and noti takes care of the rest.

NOTE: The components in green are repeated for each message within a notification.

Flow Participants

There are several different "participants" within the notification send flow that perform specific tasks within the sequence.

  • Client
    • Responsible for initiating the flow by issuing a request to noti to create a new notification.
  • noti
    • Responsible for receiving the requests for the client, and orchestrating the flow of data downstream to noti's database and message queue.
  • Database (DB)
    • The primary storage for all notifications processed within the system.
  • Queue
    • The durable message queue in which all notification messages are processed from.
  • noti-consumer
    • Responsible for retrieving notification messages from the queue and passing them to the external provider.
  • noti-ambassador
    • Serves as a liaison between noti and the external provider by providing updates from the external provider to noti.
  • External Provider
    • Responsible for accomplishing the specific tasks via a service offered, such as SMS, email, etc.

Clone this wiki locally