Bottleneck-Noden Identifieras Före Trafikkommer
Mittenbelastning
I varje par av noder i en grafförbindelse finns det den kortaste vägen mellan dem. Mittenbelastningen för en nod N = andelen av alla kortaste vägar som passerar genom N.
En nod med hög mittenbelastning ligger på vägen mellan många andra par. Om den sakta går, många flöden sakta går. Om den går sönder, många flöden bryter.
Arkitektur-läsning: hög-mittenbelastningsnoder är de varje arkitekturgranskning bör betala extra uppmärksamhet till. De är bottlenecks, SPOFs och kapacitetskritiska komponenter i ett. De tenderar att vara:
- DNS-leverantören (mellan varje kund och varje tjänst)
- Ingress-proxy (mellan varje kund och varje bakre)
- Databasens primära (mellan varje bakre och varje läs)
- Autentiseringstjänsten (mellan varje användare och varje godkänt åtgärd)
Detektion utan mätning: grafens topologi identifierar självklart hög-mittenbelastningsnoder. Du behöver inte trafikdata; du behöver arkitekturdiaagrammet. En nod som ligger mellan många andra par är strukturellt kritisk.
Operativ konsekvens: hög-mittenbelastningsnoder förtjänar oproportionerlig investering i (1) kapacitetsförskott, (2) redundans, (3) övervakning och (4) incident-svarspappers.
Den Minsta Snittet Skiljer Den Minsta Skivan
Min-Snittets Gräns i Enkla Ord
Den min-snittets gräns mellan två noder i en grafförbindelse = den minsta antalet kanter (eller noder) du måste ta bort för att skilja dem åt.
Operativ läsning: min-cutt begränsar det värsta utfallet för spridning. Om min-cutt mellan 'kunder' & 'databas' är 1 kant (en enda proxy), så blir förlusten av den kanten kopplad från alla kunder till databasen. Om min-cutt är 5, måste du förlora 5 komponenter samtidigt för att fullständigt koppla loss; otur, men begränsad.
Designa för spridning: öka min-cutt vid varje viktig gräns. Flera proxies; flera cacheminnesnodar; flera nätverksvägar mellan DCs. Varje tillägg ökar min-cutt med 1.
Bulkheads-mönstret i grafiska termer: dela resurser upp i separata undergraf som delar ingen min-cutt med varandra. En fel i ett undergraf kan inte sprida sig till de andra eftersom kanterna inte existerar.
Diameter Bestämmer Avståndet För Feluppklaring
Grafens diameter = den längsta kortaste vägen mellan några två noder.
Feluppklaring: när en nod felar & omkopplar flödet berör de övre noder upp till diameter-avstånd bort. Ett diameter-3 system (klient -> proxy -> backend -> DB) innebär att en DB-fel påverkar 3 övre lager i en återställningstorm.
Följd: kortare diameter = snabbare felinnehåll men också mer koncentration av noder. Varje design har sina fördelar.
Beräkna Min-Cutt För En Verklig Arkitektur
En arkitektur: 1 DNS, 1 CDN, 3 revers proxies, 12 backend-repliker, 1 DB primära.
Felmodsanalys via Grafiska Mätvärden
Sammanfattning
Du kan nu identifiera högh-betweenness-noder, beräkna min-cutt vid varje gräns & uppskatta feluppklaringssdistansen via diameter.
Använd alla tre.
Ett system: 50 kundändpunkter -> 1 DNS -> 2 CDN POPs -> 4 bakre proxyserver -> 16 bakre replikaser -> { DB-klustret (1 primärt + 2 stående), Redis-klustret (5 noder), 3 externa API:er }.
Kompletterande anteckningar
Kompletterande anteckningar
Den här geometri-undervisningen återger huvudundervisningen Failure Modes & Blast Radius genom grafmätningar (mellanhetegenskap, min-cut, diameter).
Det sista komplementet, geometry_of_observability_and_capacity, behandlar Voronoi-cellerna för CDN PoP-fångstområden, den latenstriangels hastighetsgolv och den återupptagna kökrassen på proxynivån.
Bra jobbat.