// A small web service — a realistic architecture, top to bottom.
{
layout: column; gap: 40; padding: 24;
-> { stroke: #666; clearance: 10; }
--accent: #0a84ff;
}
browser |box| "Browser"
edge |group| { layout: row; gap: 24; } [
|caption| "Edge"
cdn |box| "CDN"
lb |box| "Load balancer"
]
services |group| { layout: row; gap: 24; } [
|caption| "Services"
api |box| "API"
auth |box| "Auth"
]
data |group| { layout: row; gap: 24; } [
|caption| "Data"
cache |cyl| "Redis"
db |cyl| "Postgres"
]
browser -> edge.cdn -> edge.lb "https"
edge.lb -> services.api & services.auth
services.api -> data.cache "cache"
services.api -> data.db
services.auth -> data.db