@startuml title Components Sharing a Model left to right direction node "Message Broker" as MB { queue "Model Topic\nEndpoint" as MTE #white } database "NoSQL\n(Schema Data)" as DB1 database "NoSQL\n(Metadata)" as DB2 database "Solr 6.x" as Solr node "API Gateway" as AG node "Model\nService" as MS { node "REST API" as API node "Message Producer" as MP } node "Search Service" as SS { node "Message Consumer" as L1 } node "Repository\nService" as R { node "Message Consumer" as L2 } node "Model Manager App" as MMA actor "user" as U MS <-> DB1 : read/write model MP -> MTE : model\nchanged message R <-> DB2 : read/write metadata SS <-> Solr : read/write L1 <- MTE : model\nchanged message L2 <- MTE : model\nchanged message MMA -> AG : get/put model AG -> API : get/put model U <-> MMA : design model @enduml