Varje PoP äger en cell i planet
Voronoitäppna
Placera N punkter (PoPs: Poäng av närvaro) på en planet. Rita regiongränser så att varje punkt i planet tilldelas den närmaste PoP. Resultatet är en Voronoi-diagram: planet delas in i N celler, en per PoP, var och en innehållande alla punkter närmre dess PoP än någon annan.
CDN-geometri: varje användares begäran riktar sig till den närmaste PoP. Varje PoP täcker ett cellområde i det geografiska planet. Cellgränserna är den senaste bisektorn mellan grann-PoPs.
Geometrisk läsning:
- Lägga till en PoP minskar cellerna för dess grannar (& skapar en ny cell)
- Ta bort en PoP tvingar dess cell att omfördela till grannar (kapacitetsökning på grannar)
- En användare nära en cellgräns kan hoppa mellan PoPs som lastbalanseringen skakar
- En felaktig PoP förstorar varje granne cell under utrymmet
Operativ konsekvens: när en PoP misslyckas försvinner inte dess last; den migrerar till grann-PoPs. Om grannar är storleken bara för sina normala cell, bryter överlast dem nästa gång (kaskad PoP-fel). Mogen CDN-leverantör stor varje PoP med tänkbar grann-felaktighet överlast.
Den oåkommeliga ojämlikheten
Fysik sätter golvet
Ljuset reser sig på ~300,000 km/s i vakuum. I fiber, omkring 200,000 km/s beroende på refraktionsindex. Det innebär:
- ~1,000 km av fiber = ~5 ms enkelriktning = ~10 ms rundtur
- USA-kust till kust (~5 000 km) = ~50 ms minsta RTT
- USA till Europa (~8 000 km) = ~80 ms minsta RTT
- Motpolära (ungefär runt jordens mitt) = ~200 ms minsta RTT
Detta är en golvyta. Rätt RTT är alltid större (routerväxlingar, switchning, köer, trängsel). Ingen applikation kan gå fortare än fysik tillåter.
Triangle Olikhet
För tre noder A, B, C säger triangeldifferentiellen d (A, C) <= d (A, B) + d (B, C): en direkt väg är kortare (eller lika lång) än någon indirekt väg.
Nätverksläsning: om ditt tjänstvägar A -> B -> C i stället för A -> C direkt, är fördröningen minst summan av två benlatenser. Ofta mer på grund av bearbetning på B.
Arkitektur läsning: varje indirekt (proxy, lastbalanserare, CDN-hopp) lägger till minst en rundgång till användarens upplevda fördröjning. CDN-fördelen kommer från att användarens ben blir kortare (PoP närmare än ursprung), även om den totala antalet hopp ökar.
Multi-region-fällor: ett service som läser från region A men skriver till region B drabbas av A-till-B-latensen på varje skrivning. Om A & B är 100 ms isär, tar varje skrivning >= 100 ms minsta. Stretchade databaser betalar denna golvyta varje gång.
Betala Golvet
En tjänst körs i två regioner: USA Öst (us-east-1) & EU-Väst (eu-west-1). De två regionerna är cirka 5 500 km isär. Tjänsten har en primär databas i USA Öst. EU-användares begäranden servs av EU-Väst-backends, men varje skrivning kräver en återuppringning till USA Öst-primära.
Geografisk kapacitetsdesign
Syntes
Du kan nu läsa Voronoi-cellerna som PoP-fångstområden, beräkna hastighetsgränsen för ljusets fördröjning och tillämpa köpkurvan på proxy-nivån.
Använd alla tre.
En grupp planerar CDN-omfattningen för ett tjänst med användare på tre kontinenter: Nordamerika (60% av användarna), Europa (30%) och Asien (10%). De har budget för 6 PoPs. Varje PoP kan serva en stadig cell på 70% utnyttjande utan att överskrida köpkurvens knä.
Avsluta Kompletterande Kurs
Avsluta Kompletterande Kurs
Du har slutfört alla fem kompletterande lektioner i geometri-*:
- Proxies & Origins: riktade grafer, antal hopp, fan-in / fan-out, indirekt
- Stateless Horizontal Scaling: Littles lag som area, köpkurva & dess knä
- Ingress & Egress Separation: bipartit struktur, utrotning av knutpunkt, partitionstål
- Failure Modes & Blast Radius: mellanhet centralitet, min-snitt, diameter
- Observability & Capacity (den här): Voronoi-POP-cell, latenstriangelfördröjning, geografisk kapacitetsdesign
Genomgången: Distribuerade system har geometrisk struktur. Varje arkitektur är en graf. Varje latensgräns är ett triangeldå. Varje kapacitetsbeslut är en kurva och ett knä. När du ser geometrin följer operationella beslut från den.
Tillsammans med de fem huvudlektionerna (cs_distsys_*) har du en fungerande mental modell av ett webb-storleks distribuerat system och den grafteoretiska disciplinen för att resonera om det.
Bra gjort.