mrs.plantuml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. @startuml Message Retransmission
  2. header Message Retransmission / Service Library
  3. component "Publisher"{
  4. [OBS_Pub]
  5. [MRS_Pub1]
  6. }
  7. component "Consumer"{
  8. [MRS_Con1]
  9. [OBS_Sub]
  10. }
  11. component "Content Delivery Management Server(Pub)" as CDMS_Pub{
  12. "DataController" as [DataController1]
  13. [MRS_Pub2]
  14. }
  15. component "Content Delivery Management Server(Con)" as CDMS_Con{
  16. "DataController" as [DataController2]
  17. [MRS_Sub2]
  18. }
  19. database "Database" as Database_Pub {
  20. folder "This is log Location 1" {
  21. [Messages]
  22. }
  23. }
  24. database "Database" as Database_Con {
  25. folder "This is log Location 2" {
  26. [Messages2]
  27. }
  28. }
  29. [MRS_Pub1] -- [MRS_Con1] : Basic Synchronization
  30. [MRS_Pub1] - [OBS_Pub]
  31. [MRS_Con1] - [OBS_Sub]
  32. [OBS_Pub] .> CDMS_Pub
  33. [MRS_Pub2] - [DataController1]
  34. [DataController1] .> Database_Pub:Write Data
  35. [OBS_Sub] .> CDMS_Con
  36. [MRS_Sub2] - [DataController2]
  37. [DataController2] <. Database_Con:Read Data
  38. [MRS_Pub2] -- [MRS_Sub2]
  39. ' CDMS_Pub - CDMS_Con : Synchronization over MRS library
  40. @enduml
  41. ' Square are ports. I use them to represent the Message Retransmission Service
  42. ' So, when Publisher creates messages from the relevant library, it will then
  43. ' store in to it's own designated database, and will also attempt to broadcast
  44. ' to the consumer it's relevant information.
  45. ' They can perform basic synhronization or utilzie the CDMC: Content Delivery Management Server
  46. ' to manage the message payload by leveraging the MRS library to do the synching
  47. ' MRS library will check the data loss by taking the specified data to be
  48. ' compared and then perform retransmission if needed.
  49. ' Rearrage the position
  50. ' use MR_S_Pub1 MR_S_Con1 MR_S_Pub2 MR_S_Con2