Networking & Protocols
CDN and edge: multiple-choice review
Six questions that cut across the whole unit. None is a definition to recite — each one mirrors a routing, caching, or composition decision you make while the dashboard is on fire.
Confirm you can connect proximity routing, cache-key construction, tiered cache, stampede defence, and edge compute — the synthesis the individual lessons built toward.
A site sets Cache-Control: public, max-age=3600 but CDN hit rate sits at 5% with thousands of distinct entries per URL. The most likely single cause?
A logged-in user loads /account and sees their name; an hour later a different anonymous user hits the same URL and sees the first user's name. CDN logs show cache hits for both. Root cause?
A popular article's edge entry expires across 200 POPs in a region at the same instant; 1000 users request it that second, origin starts returning 503s, and those 503s get cached. Which two layers together would have prevented this?
A product page needs hour-stable chrome, a 10-minute-stale description, and a per-user price that must be real-time. no-store gives 300 ms p95; max-age=3600 shows stale prices. What is the senior move?
A latency-sensitive API on an intercontinental path is slow even though Anycast already sends users to the BGP-nearest POP. Why, and what is the targeted fix?
You ship a hotfix; origin is updated, yet 20 minutes later Europe serves the old version while Asia serves the new one. Why the split, and what is the durable fix?
The unit’s through-line is one delivery pipeline: routing (Anycast for scale and DDoS absorption, GeoDNS for control, smart routing to correct BGP’s latency blindness) puts the user on the right edge; the cache key (URL + method + Vary) decides what is reusable, and high-cardinality Vary or cookie-blind keys are the classic footguns; the tiered cache plus origin shield and stale-while-revalidate keep the herd off origin; edge workers and edge-side composition assemble per-TTL fragments for fast pages with fresh data; and operations close the loop with cache-tag purge, deploy-triggered invalidation, and per-region observability.