C4: Container With Boundary And BiRel
A C4 Container diagram: a system boundary holding containers, a database and a queue, with a bidirectional relationship and an external system.
c4-container-with-boundary-and-birel.mmd
C4Container
Person(user, "User")
System_Boundary(sys, "Shop") {
Container(web, "Web App", "React", "Storefront")
Container(api, "API", "Node.js", "Business logic")
ContainerDb(db, "Database", "PostgreSQL", "Orders")
ContainerQueue(q, "Events", "Kafka")
}
System_Ext(pay, "Payments")
Rel(user, web, "Browses")
Rel(web, api, "Calls", "JSON/HTTPS")
Rel(api, db, "Reads/writes", "SQL")
BiRel(api, q, "Publishes", "AMQP")
Rel(api, pay, "Charges cards")