Notifications: System diagram

Scalable Notifications Pipeline

A pluggable pipeline architecture for notifications that allows for

  1. configuration of pipeline steps via a centralized Notifications service
  2. cross-process or inter-process communication via a reusable messaging infrastructure
  3. dynamic discovery of actors in the pipeline
  4. horizontal scaling of each component in the pipeline

Steps in Notification Pipeline

The following diagram depicts the proposed steps of the notification pipeline for open edX.  The grey boxes are the messaging layer, which allows for either inter-process or intra-process communications.

  • Composer - composes the notification message, including recipient information (either actual recipients or metadata to retrieve them later in the pipeline)
  • User Targeting - determines the actual values of users to receive the message
  • Policy - applies governance and rules on notification delivery
  • Presentation - crafts the presentation of the message for various delivery channels and recipients
  • Delivery - sends the message through the required delivery channels

Example Triggered Event

The following is an example of a triggered event in the grading infrastructure that eventually leads to downstream notifications:

Example Data Flow