104 lines
2.2 KiB
Plaintext
104 lines
2.2 KiB
Plaintext
|
@startuml
|
||
|
'https://plantuml.com/deployment-diagram
|
||
|
|
||
|
scale 1000
|
||
|
|
||
|
rectangle "API" {
|
||
|
node "bazzar"
|
||
|
queue rumqttd
|
||
|
|
||
|
component "Accounts Manager" {
|
||
|
node "account-manager"
|
||
|
database "PostgreSQL bazzar_accounts"
|
||
|
|
||
|
"account-manager" <--> "PostgreSQL bazzar_accounts"
|
||
|
"account-manager" --> rumqttd : emit event
|
||
|
|
||
|
usecase "create account"
|
||
|
usecase "me"
|
||
|
|
||
|
"account-manager" -- "create account"
|
||
|
"account-manager" -- "me"
|
||
|
}
|
||
|
|
||
|
component "Carts Manager" {
|
||
|
node "cart-manager"
|
||
|
database "PostgreSQL bazzar_carts"
|
||
|
|
||
|
"cart-manager" <--> "PostgreSQL bazzar_carts"
|
||
|
"cart-manager" <-- rumqttd : account created
|
||
|
}
|
||
|
|
||
|
component "Search Manager" {
|
||
|
node "search-manager"
|
||
|
database "sonic"
|
||
|
|
||
|
"search-manager" <--> "sonic"
|
||
|
"search-manager" <-- rumqttd : product created
|
||
|
"search-manager" <-- rumqttd : product deleted
|
||
|
}
|
||
|
|
||
|
component "Stock Manager" {
|
||
|
node "stock-manager"
|
||
|
database "PostgreSQL bazzar_stocks"
|
||
|
|
||
|
"stock-manager" <--> "PostgreSQL bazzar_stocks"
|
||
|
"stock-manager" --> rumqttd : emit event
|
||
|
}
|
||
|
|
||
|
component "E-Mail Sender" {
|
||
|
node "email-sender"
|
||
|
cloud "sendgrid"
|
||
|
|
||
|
"email-sender" --> "sendgrid"
|
||
|
"email-sender" <-- rumqttd : account created
|
||
|
"email-sender" <-- rumqttd : account deleted
|
||
|
}
|
||
|
|
||
|
actor " rumqttd"
|
||
|
|
||
|
"bazzar" -- "Accounts Manager" : rpc
|
||
|
"bazzar" -- "Carts Manager" : rpc
|
||
|
"bazzar" -- "E-Mail Manager" : rpc
|
||
|
"bazzar" --> " rumqttd" : emit event
|
||
|
}
|
||
|
|
||
|
rectangle "Dependencies" {
|
||
|
database "PostgreSQL bazzar_accounts "
|
||
|
database "PostgreSQL bazzar_carts "
|
||
|
database "sonic "
|
||
|
database "PostgreSQL bazzar_stocks " {
|
||
|
}
|
||
|
cloud "sendgrid "
|
||
|
queue "rumqtt d"
|
||
|
}
|
||
|
|
||
|
'actor actor
|
||
|
'actor/ "actor/"
|
||
|
'agent agent
|
||
|
'artifact artifact
|
||
|
'boundary boundary
|
||
|
'card card
|
||
|
'circle circle
|
||
|
'cloud cloud
|
||
|
'collections collections
|
||
|
'component component
|
||
|
'control control
|
||
|
'database database
|
||
|
'entity entity
|
||
|
'file file
|
||
|
'folder folder
|
||
|
'frame frame
|
||
|
'interface interface
|
||
|
'label label
|
||
|
'node node
|
||
|
'package package
|
||
|
'queue queue
|
||
|
'rectangle rectangle
|
||
|
'stack stack
|
||
|
'storage storage
|
||
|
'usecase usecase
|
||
|
'usecase/ "usecase/"
|
||
|
|
||
|
@enduml
|