@startuml NotificationSynchronizatoin header Notificaton Synchronization Diagram title Notification Synchronization left to right direction skinparam backgroundColor #EEEBDC (CentralRedist) as (centralredis) << REDIST >> usecase "**CentralRedist**" as centralredis #fa9dd0;line:Black;line.bold;text:Black package Primary { usecase "**BackEnd**" as be1 <> #fdff80;line:Black;line.dashed;text:Black usecase "**ContentDeliveryManagementServer**" as cdms1 <> #a4fa91;line:Black;line.dotted:Black database MongoDB as mongo1 #aaeefa;line:Black;line.bold;text:Black database FISdatabase as fisdb1 #d0b0ff;line:Black;text:Black card "**UCP**" as ucp1 #d0b0ff;line:Black;line.bold;text:Black card FingerPrint as fp1 card "**ProjectWorkflow**" as pw1 #91adfa;line:Blue;line.bold;text:Black; queue Notification as not1 #fa91f6;line:Black;line.dotted;text:Black } package Secondary { usecase "**BackEnd**" as be2 <> #fdff80;line:Black;line.dashed;text:Black usecase "**ContentDeliveryManagementServer**" as cdms2 <> #a4fa91;line:Black;line.dotted:Black database MongoDB as mongo2 #aaeefa;line:Black;line.bold;text:Black database FISdatabase as fisdb2 #d0b0ff;line:Black;text:Black card "**UCP**" as ucp2 #d0b0ff;line:Black;line.bold;text:Black card FingerPrint as fp2 card "**ProjectWorkflow**" as pw2 #91adfa;line:Blue;line.bold;text:Black queue Notification as not2 #fa91f6;line:Black;line.dotted;text:Black } ucp2 <=> centralredis #DarkRed;line.bold;text:green ucp1 <==> centralredis #DarkRed;line.bold;text:green ' Primary Side fp1 --> pw1 #blue pw1 .* not1 : generate \nNotifications not1 .* ucp1 #red cdms1 <-- pw1 #green;line.dashed;text:green pw1 -> ucp1 be1 <-- ucp1 #DarkMagenta;line.dotted;text:green be1 -> fisdb1 mongo1 <- cdms1 ' Secondary Side not2 .* ucp2 #red fp2 --> pw2 #blue pw2 .* not2 : generate \nNotifications cdms2 <- pw2 #green;line.dashed;text:green pw2 -> ucp2 be2 <-- ucp2 #DarkMagenta;line.dotted;text:green be2 -> fisdb2 mongo2 <- cdms2 @enduml