@startuml Message Retransmission header Message Retransmission / Service Library database "Database_Pub" { folder "This is log Location 1" { [Messages] } } database "Database_Con" { folder "This is log Location 2" { [Messages2] } } component "CDMS_Pub"{ [MRS1] } component "CDMS_Con"{ [MRS2] } component "Publisher"{ [OBS1] - [MRS_Pub] [MRS_Pub] } component "Consumer"{ [MRS_Con] [OBS2] - [MRS_Con] } [MRS1] -- [MRS2] [Messages] <. CDMS_Pub [Messages2] <. CDMS_Con [OBS1] .> CDMS_Pub [OBS2] .> CDMS_Con ' CDMS_Pub - CDMS_Con : Synchronization over MRS library [MRS_Pub] -- [MRS_Con] : Basic Synchronization @enduml ' Square are ports. I use them to represent the Message Retransmission Service ' So, when Publisher creates messages from the relevant library, it will then ' store in to it's own designated database, and will also attempt to broadcast ' to the consumer it's relevant information. ' They can perform basic synhronization or utilzie the CDMC: Content Delivery Management Server ' to manage the message payload by leveraging the MRS library to do the synching ' MRS library will check the data loss by taking the specified data to be ' compared and then perform retransmission if needed. ' Rearrage the position ' use MR_S_Pub1 MR_S_Con1 MR_S_Pub2 MR_S_Con2