12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- @startuml Message Retransmission
- header Message Retransmission / Service Library
-
- component "Publisher"{
- [OBS_Pub]
- [MRS_Pub1]
- }
- component "Consumer"{
- [MRS_Con1]
- [OBS_Sub]
- }
-
- component "Content Delivery Management Server(Pub)" as CDMS_Pub{
- "DataController" as [DataController1]
- [MRS_Pub2]
- }
- component "Content Delivery Management Server(Con)" as CDMS_Con{
- "DataController" as [DataController2]
- [MRS_Sub2]
- }
- database "Database" as Database_Pub {
- folder "This is log Location 1" {
- [Messages]
- }
- }
- database "Database" as Database_Con {
- folder "This is log Location 2" {
- [Messages2]
- }
- }
- [MRS_Pub1] -- [MRS_Con1] : Basic Synchronization
- [MRS_Pub1] - [OBS_Pub]
- [MRS_Con1] - [OBS_Sub]
-
- [OBS_Pub] .> CDMS_Pub
- [MRS_Pub2] - [DataController1]
- [DataController1] .> Database_Pub:Write Data
- [OBS_Sub] .> CDMS_Con
- [MRS_Sub2] - [DataController2]
- [DataController2] <. Database_Con:Read Data
- [MRS_Pub2] -- [MRS_Sub2]
- ' CDMS_Pub - CDMS_Con : Synchronization over MRS library
- @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
|