@startuml
cloud "Web Browser" as Browser << Client >>
node nginx << Load Balancing Server >>

node "Web Server" as server {
   component Acanban as acanban
   component Hypercorn as hypercorn
}

node "Database cluster" as db {
   database "RethinkDB" as r_1
   database "RethinkDB" as r_2
   database "RethinkDB" as r_3
   database "RethinkDB" as r_4
}

node "IPFS cluster" as ipfs {
   collections "IPFS" as i_1
   collections "IPFS" as i_2
   collections "IPFS" as i_3
   collections "IPFS" as i_4
}

nginx "0..*" --- "1" Browser : HTTPS
nginx "1" -[norank]- "1..*" hypercorn
hypercorn "1" -- "1" acanban
acanban "1..*" -- "1..*" db
acanban "1..*" -- "1..*" ipfs
@enduml
