Elk PoP Beheert een Cel van het Plan
Voronoi Tesselatie
Plaats N punten (PoPs: Punten van aanwezigheid) op een vlak. Trek regio-begrenzingen op zodat elk punt op het vlak is toegewezen aan de nabijste PoP. Het resultaat is een Voronoi-diagram: het vlak deelt zich in N cellen, één per PoP, elk bevat alle punten dichter bij zijn PoP dan bij enige andere.
CDN-geometrie: elke gebruikersaanvraag gaat naar de dichtstbijzijnde PoP. Elk PoP beheert een cel van het geografische vlak. De celgrenzen zijn de scherpe middenpunten van de lijnen tussen aangrenzende PoPs.
Geometrische lezing:
- Het toevoegen van een PoP verkleint de cellen van zijn buren (& maakt een nieuwe cel aan)
- Het verwijderen van een PoP dwingt zijn cel om naar buren over te stappen (capaciteitspiek bij buren)
- Een gebruiker bij een celgrens kan overschakelen tussen PoPs als belastingverdeling verandert
- Een storing van een PoP vergroot elke buurman's effectieve cel tijdens de storing
Operationele consequentie: wanneer een PoP faalt, verdwijnt zijn belasting niet; het migreert naar aangrenzende PoPs. Als buren alleen zijn uitgerust voor hun normale cel, breekt de piek ze de volgende (kaskaderende PoP-fout). Volwassen CDN-leveranciers zetten elk PoP om met overweging voor overgang van buurman-fout.
! Voronoi cellen rond PoPs; één PoP-fout vergroot buurman-cellen
De oneerlijke driehoek van de snelheid
Fysica Stelt de Vloer
Licht reist ongeveer 300.000 km/s in vacuüm. In kabel, ongeveer 200.000 km/s vanwege de brekingsindex. Dat betekent:
- 1.000 km kabel = 5 ms heen = 10 ms heen en terug
- Amerikaans oostkust tot westkust (~5.000 km) = ~50 ms RTT minimum
- Van de VS naar Europa (~8.000 km) = ~80 ms RTT minimum
- Aantipodaal (halverwege over de wereld) = ~200 ms RTT minimum
Dit is een vloer. De werkelijke RTT is altijd groter (routeringangen, schakeling, vertraging, congestie). Geen toepassing kan sneller gaan dan de fysica toelaat.
Driehoeksongelijkheid
Voor drie knooppunten A, B, C zegt de driehoeksongelijkheid d(A,C) <= d(A,B) + d(B,C): een directe route is korter dan (of gelijk aan) enige omweg.
Netwerk leesvoer: als uw service A -> B -> C routeren in plaats van A -> C rechtstreeks, is de vertraging ten minste de som van de twee benodigde afstand. Vaak meer vanwege verwerking op B.
Architectonische leesvoer: elke omweg (proxy, load balancer, CDN-sprong) voegt ten minste een ronde trip-beugel toe aan de vertraging waarmee de gebruiker rekening houdt. CDN-baten komen voort uit het maken van de gebruikersbeugel korter (PoP dichter bij de oorsprong), zelfs al stijgt het totale aantal sprongen.
Valkuilen in meerdere regio's: een service die leest vanuit regio A, maar schrijft naar regio B, loopt A-naar-B-vertraging op bij elke schrijfactie. Als A & B 100 ms uit elkaar zijn, kost elke schrijfactie minimaal >= 100 ms. Gecreëerde databases betalen deze vloer bij elke transactie.
De vloer betalen
Een service draait in twee regio's: US-East (us-east-1) & EU-West (eu-west-1). De twee regio's zijn ongeveer 5.500 km uit elkaar. De service heeft een primaire database in US-East. EU-gebruikers hebben hun aanvragen bediend door EU-West backends, maar elke schrijfactie vereist een terugroepactie naar de US-East primaire.
Geografische capaciteitsontwerp
Synthese
Je kunt nu Voronoi-cellules lezen als verzamelingen van PoP, de berekening van de snelheid van licht-latentie-vloeren uitvoeren en de wachtrijcurve op de proxy-laag toepassen.
Toepassen op alle drie.
Een team plaatst de dekking van een CDN voor een dienst met gebruikers op drie continenten: Noord-Amerika (60% van de gebruikers), Europa (30%), Azië (10%). Ze hebben een budget voor 6 PoPs. Elk PoP kan een stabiele cel van 70% belasting dienen zonder de knie van de wachtrijcurve te overschrijden.
Sluiten van de bijbehorende cursus
Sluiten van de bijbehorende cursus
Je hebt alle vijf de les over de wiskunde van-* bijgewerkt:
- Proxies & Origins: gecoordinate grafen, sprongtelling, fan-in / fan-out, omleiding
- Stateless Horizontal Scaling: Little's Wet als oppervlakte, wachtrijcurve & haar knie
- Ingress & Egress Separation: bipartiet structuur, snijpunt eliminatie, deelingsverdraagzaamheid
- Failure Modes & Blast Radius: tussenheid tussenheid, min-sned, diameter
- Observability & Capacity (deze): Voronoi PoP-cellules, latentietriloge vloer, geografische capaciteitsontwerp
De rode draad: verspreide systemen hebben wiskundige structuur. Elke architectuur is een graf. Elke latentievloer is een driehoekonequaliteit. Elke capaciteitsbeslissing is een curve & een knie. Zodra je de wiskunde ziet, volgen de operationele beslissingen ervan.
Samen met de vijf hoofdlessen (cs_distsys_*), heb je een functioneel mentaal model van een web-omvang distribueerd systeem & de grafentheoretische discipline om erover te redeneren.
Goed gedaan.