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 / ?

Inbound & Outbound som Distinkta Mängder

Bipartit Graf i Nätverksarkitektur

En bipartit graf delar upp noder i två mängder, med kanter som är tillåtna endast mellan mängder (aldrig inom en mängd).

Nätverksgränser har naturlig bipartit struktur:

- Ingress sida: utanför kunder på ena sidan, interna tjänster på den andra. Kanter: externa begäranden som går in, interna svar som går ut.

- Egress sida: interna tjänster på ena sidan, externa destinationer på den andra. Kanter: interna tjänster som initierar utgående anrop, externa svar som kommer tillbaka.

Asymmetrin:

- Ingress: källmängden är obegränsad (alla på internet). Målmängden är liten (få tjänster). Volymen skalas med antalet användare.

- Egress: källmängden är liten (få interna tjänster). Målmängden är begränsad (få kända partner). Volymen skalas med intern aktivitet.

Enkelt-box-design sammanfogar båda bipartit halvor genom en nod. Den noden har fan-in från utsidan (ingress) OCH fan-in från insidan (egress's motsatta riktning). Nodens belastning = summan av båda sidor.

Delat design bevarar båda bipartit halvor på separata noder. Varje nod hanterar en roll med dess lämpliga skalaxel.

Bipartit ingress & egress: separata nodmängder, separata snittknutar

Rita bipartit graf för ett litet SaaS: 5 externa kundändpunkter (skickar begäranden in), 3 interna tjänster (bakre delar), & 4 externa partner-API:er (anropas utgående). Identifiera vilka kanter som tillhör ingress bipartit halva & vilka som tillhör egress bipartit halva. Prediktera vad som händer med grafans anslutning om en av de interna tjänsterna går sönder.

Innan Delning: En Snittknut överallt

Enskild Box: Allt Ligger Hos En

Innan delningen ligger en enda proxybox mellan alla externa/internala par. I grafterm är det ett högt ordnings snittverktyg: dess borttagande skiljer alla klienter från alla bakre delar och alla interna tjänster från alla externa parter.

Anslutning vid detta noder = 1. Allt som stör denna nod (processkrasch, nätverksglitch, OOM-avslag) skiljer varje beroende väg.

Efter Delningen: Snittverktyg Ersätts Av Två Lättare Noder

Delning till ingress + egress skapar två graf-noder där det var en. Varje nod ligger nu endast på en av de bipartita halvorna:

- Ingress-nod: snittverktyg för den externa-klienter-till-interna-tjänster bipartita halvan

- Egress-nod: snittverktyg för den interna-tjänster-till-partners bipartita halvan

Hållbar loopen försvinner geometriskt: i den enskilda boxens graf krävde en intern tjänst som försökte nå en externt utåt riktad tjänst via den publika adressen att två olika verktyg passerades (ut via egress-roll, sedan in via ingress-roll). I den delade grafen träffar förflyttningen två olika verktyg.

Anslutning per sida stannar vid 1, men de två snittverktygen kan ersättas oberoende av varandra. Att lägga till en andra ingress-proxy ökar ingress-sidans anslutning till 2 utan att ändra egress-sidan.

Replikation Per Sida

Produktionsflottor körs ofta med 2+ ingress-proxys (HA) OCH 2+ egress-proxys (HA). Varje sida når anslutning 2 oberoende av varandra. Kapacitet skalar horisontellt på varje sida som behövs.

En grupp har just nu en proxybox (endast ett snittverktyg för båda riktningarna). De delar upp den i en ingress + en egress, vilket senare följs av att en andra ingress läggs till (HA-påpar) men en enda egress behålls. Gå igenom hur grafans anslutning ändras vid varje steg och identifiera den bipartita halvan som fortfarande är 1-ansluten efter steg 3 (vilket då fortfarande är den lägsta tålighetsfelmodellen).

Tålighet för Nätverksdelning

Sammanfattning

Du kan nu läsa nätverksarkitekturer som bipartita grafer, identifiera snittkantverk och spåraknivå per halva.

Använd detta på nätverksindelningar.

En nätverksindelning är en grafcut: kanter över indelningen misslyckas; båda sidorna fortsätter att fungera men kan inte nå varandra.

Ett geografiskt distribuerat system har två datacenter som är anslutna via en enda inter-DC-länk. Ingress-trafik går in via DC1; egress går genom DC1 till externa partners; vissa interna tjänster finns i DC2 och anropar tillbaka till DC1 för stateful-åtgärder.

Gissa vad som händer om den inter-DC-länken går bort: (1) vilka bipartita halvor som förbli anslutna inom varje DC, (2) vilken trafik som fortsätter & vilken som stannar, & (3) föreslå en arkitekturändring som skulle göra att systemet kan tolerera denna delning med begränsad degradering snarare än fullständig utrymning.

Kompletterande Noteringar

Kompletterande Noteringar

Denna geometri-undervisning omformar huvudundervisningen om Separation of Ingress & Egress till en bipartit-grafanalys.

Nästa kompanjon, geometry_of_failure_modes_and_blast_radius, härleder mellanhetssäkerhet (identifierar knäckpunktsnoder) och min-cut (begränsar sprängradie).

Bra gjort.