// 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