Skip to content
Weave templates

CDN & Edge-Caching Request Path

One request from a browser through anycast DNS, WAF and an edge function to the PoP cache, then the hit / miss branch out to the regional cache and origin — with TTLs, invalidation policy and hit ratio called out.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id": "pop",  "type": "container", "label": "CloudFront PoP — Frankfurt",  "x": 420,  "y": 40,  "width": 420, "height": 460, "fill": "rgba(220,252,231,0.26)", "stroke": "#15803d" },
    { "id": "reg",  "type": "container", "label": "Regional edge cache",         "x": 880,  "y": 140, "width": 250, "height": 220, "fill": "rgba(254,243,199,0.26)", "stroke": "#b45309" },
    { "id": "orig", "type": "container", "label": "Origin — eu-west-1",          "x": 1170, "y": 40,  "width": 280, "height": 460, "fill": "rgba(219,234,254,0.26)", "stroke": "#1d4ed8" },

    { "id": "usr", "type": "user-circle", "label": "Visitor — Berlin", "x": 40,  "y": 210, "width": 140, "height": 104, "fill": "#e0f2fe", "stroke": "#0369a1" },
    { "id": "dns", "type": "cloud",       "label": "Anycast DNS",      "x": 220, "y": 225, "width": 160, "height": 74,  "fill": "#e0f2fe", "stroke": "#0369a1" },

    { "id": "waf",  "type": "shield-check",   "label": "WAF — bot + rate rules", "x": 450, "y": 90,  "width": 170, "height": 104, "fill": "#fee2e2", "stroke": "#b91c1c" },
    { "id": "efn",  "type": "cloud-function", "label": "Edge function — auth, A/B", "x": 450, "y": 230, "width": 170, "height": 104, "fill": "#dcfce7", "stroke": "#15803d" },
    { "id": "ecac", "type": "cdn",            "label": "Edge cache — TTL 300 s",   "x": 450, "y": 370, "width": 170, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "hit",  "type": "diamond",        "label": "Cache hit?",               "x": 650, "y": 222, "width": 120, "height": 120, "fill": "#fef9c3", "stroke": "#ca8a04" },

    { "id": "rcac", "type": "file-stack", "label": "Regional cache — TTL 24 h", "x": 910, "y": 190, "width": 190, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },

    { "id": "oalb", "type": "aws-elb",          "label": "Origin ALB",        "x": 1200, "y": 90,  "width": 130, "height": 110, "fill": "#fff7ed", "stroke": "#f97316" },
    { "id": "oapp", "type": "docker-container", "label": "Origin app (ECS)",  "x": 1200, "y": 230, "width": 180, "height": 104, "fill": "#dbeafe", "stroke": "#1d4ed8" },
    { "id": "obuk", "type": "aws-s3",           "label": "S3 — static origin","x": 1200, "y": 370, "width": 130, "height": 110, "fill": "#fff7ed", "stroke": "#f97316" },

    { "id": "inv", "type": "note",       "label": "Invalidation: versioned asset paths, /api/* never cached", "x": 420, "y": 560, "width": 300, "height": 90, "fill": "#fef9c3", "stroke": "#ca8a04" },
    { "id": "met", "type": "line-chart", "label": "Cache hit ratio 94 %", "x": 780, "y": 560, "width": 180, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9" }
  ],
  "edges": [
    { "id": "e1",  "source": "usr",  "target": "dns",  "label": "GET /product/42", "thickness": 3 },
    { "id": "e2",  "source": "dns",  "target": "waf",  "label": "nearest PoP",     "thickness": 3 },
    { "id": "e3",  "source": "waf",  "target": "efn" },
    { "id": "e4",  "source": "efn",  "target": "ecac", "label": "rewrite cache key" },
    { "id": "e5",  "source": "ecac", "target": "hit",  "thickness": 2 },
    { "id": "e6",  "source": "hit",  "target": "usr",  "label": "HIT · 12 ms",     "thickness": 3 },
    { "id": "e7",  "source": "hit",  "target": "rcac", "label": "MISS" },
    { "id": "e8",  "source": "rcac", "target": "oalb", "label": "MISS · origin fetch" },
    { "id": "e9",  "source": "oalb", "target": "oapp" },
    { "id": "e10", "source": "oapp", "target": "obuk", "label": "signed URLs" },
    { "id": "e11", "source": "obuk", "target": "rcac", "label": "fill",  "style": "dashed" },
    { "id": "e12", "source": "rcac", "target": "ecac", "label": "fill",  "style": "dashed" },
    { "id": "e13", "source": "inv",  "target": "ecac", "label": "purge", "style": "dashed" },
    { "id": "e14", "source": "ecac", "target": "met",  "style": "dashed" }
  ]
}