English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gäst
1 / ?

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.

Voronoi-cell kring PoPs; en PoP-fel förstorar grannars celler

En CDN körs 4 PoPs för att serva kontinentala USA: Västkusten, Bergskedjan, Mellanvästern, Östkusten. Var och varannan är stor för ~25% av totalt amerikanskt trafik. Mountain PoP misslyckas. Producera: (1) vilka grann-PoPs absorberar den omfördelade lasten och i ungefärligt proportioner, och (2) vad som händer om de grannarna var stor för 25% var utan överkörning.

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.

Latency-triangeln: A-B-C-golvyta bestäms av fysiskt avstånd

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.

Beräkna fördröjningsgolvet för ett EU-användare skrivande (rundtur från deras webbläsare till EU-Väst-backend till USA Öst-primärt och tillbaka). Jämför med ett EU-användare som får tjänsten tillgänglig från EU-Väst-cached-tillstånd. Föreslå sedan en arkitekturändring som minskar skrivningsgolvet för EU-användare.

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ä.

Designa PoP-placering: (1) hur skulle du fördela 6 PoPs över de tre kontinenterna, (2) för den minsta användarandelen (Asien på 10%) vilket är fördröjningsgolvet för en Asia-användare som servs från en Europa-PoP om ingen Asia-PoP finns (anteckna cirka 9 000 km avstånd) och (3) vilken kapacitetsöverkant skulle du kräva per PoP för att överleva en enskild PoP-fel utan kaskad?

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.