Notifications: System diagram
Scalable Notifications Pipeline
A pluggable pipeline architecture for notifications that allows for
configuration of pipeline steps via a centralized Notifications service
cross-process or inter-process communication via a reusable messaging infrastructure
dynamic discovery of actors in the pipeline
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