Slide 65
Slide 65 text
@startuml
actor User
participant Comment
participant WatchingUser
participant Queue
participant Worker1
participant WorkerN
participant Notification
participant PushNotificationGateway
Worker1 -> Queue : subscribe
WorkerN -> Queue : subscribe
User -> Comment : postComment
Comment -> WatchingUser : fetchWatchingUser
Comment -> Comment : buildNotificationBody
Comment -> Queue : enqueueNotificationPayload
group publishing as async until queue is empty
Queue -> Worker1 : publish
Worker1 -> Notification : create
Notification -> PushNotificationGateway : sendNotification
Queue -> WorkerN : publish
WorkerN -> Notification : create
Notification -> PushNotificationGateway : sendNotification
end
@enduml