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

un

gość
1 / ?
powrót do lekcji

Wchodzące i Wyjściowe jako Odrębne Zbiory

Bipartytowe Grafy w Architekturze Sieci

Bipartytowy graf dzieli wierzchołki na dwa zbiory, z krawędziami pozwalającymi tylko między zbiorami (nikiedy wewnątrz zbioru).

Granice sieci mają naturalną bipartytową strukturę:

- Strona wchodząca: zewnętrzni klienci po jednej stronie, wewnętrzne usługi po drugiej. Krawędzie: żądania zewnętrzne wchodzące, odpowiedzi wewnętrzne wychodzące.

- Strona wyjściowa: wewnętrzne usługi po jednej stronie, zewnętrzne cele po drugiej. Krawędzie: wewnętrzne usługi inicjujące wywołania wyjściowe, odpowiedzi zewnętrzne wracające.

Nierówność:

- Wchodzące: zestaw źródłowy jest nieograniczony (każdy na internetzie). Zestaw docelowy jest mały (kilka usług). Objętość skaluje się wraz ze użytkownikami.

- Wyjściowe: zestaw źródłowy jest mały (kilka wewnętrznych usług). Zestaw docelowy jest ograniczony (kilka znanych partnerów). Objętość skaluje się wraz z działalnością wewnętrzną.

Jednostkowy design łączy obie bipartytowe połowy przez jeden węzeł. Ten węzeł ma wpływ od zewnętrznego (wchodzące) I wpływ od wewnętrznego (odwrotna strona wyjściowa). Obciążenie węzła = suma obu stron.

Rozdzielony design zachowuje obie bipartytowe połowy jako osobne węzły. Każdy węzeł obsługuje jeden rolę z odpowiednim osiąganiem skalowania.

Bipartytowe wchodzące & wyjściowe: osobne zestawy węzłów, osobne wierzchołki przecinające

Narysuj bipartytowy graf dla małego SaaS: 5 zewnętrznych punktów końcowych klientów (wysyłających żądania), 3 wewnętrznych usług (tłumaczenie tylnej strony), & 4 zewnętrznych API partnerów (wywoływane wyjściowo). Zidentyfikuj, które krawędzie należą do bipartytowej połowy wchodzącej i które należą do bipartytowej połowy wyjściowej. Przewidziane zdarzenia, które mają miejsce, gdy jeden z wewnętrznych usług zawodzi.

Przed Podziałem: Wierzchołek Przecinający Na każdym Kroku

Jedno-Box: Wszystko W Jednym Wierzchołku

Przed podzieleniem, pojedyncza boksy proxy znajdowała się między kaŻdym zewnętrznym/wewnętrznym pary. W graficznych terminach jest to wierzchołek rozbijający o wysokiej klasie: jego usunięcie rozdziela wszystkich klientów od wszystkich serwerów tylnej krawędziegi oraz wszystkich usług wewnętrznych od wszystkich partnerów zewnętrznych.

Połacność na tym wierzchołku = 1. Cokolwiek zakłóci to wierzchołek (awaria procesu, zakleszczenie sieciowe, zabicie OOM) rozdziela wszystkie zależenia dróg.

Po Podziale: Wierzchołki Lekkie Zamiast Jednego Ciężkiego

Podział na ingress + egress tworzy dwa wierzchołki grafu, gdzie kiedyś był jeden. KaŻdy z wierzchołkó teraz siedzi tylko na jednej półowej połowie:

- Wierzchołek ingress: wierzchołek rozbijający dla półowej połów zewnętrznych-klientów-wewnętrznych-usług

- Wierzchołek egress: wierzchołek rozbijający dla półowej połów wewnętrznych-usług-partnerów zewnętrznych

Przekażanie w półu zniknęło geometrycznie: w grafie pojedynczej boksy, usługa wewnętrzna, która spróbuje dotąłic usługi zewnętrznie dostępnej usługi przez publiczny adres wymagaù przejścia tego samego wierzchołka dwukrotnie (wyjście przez rolę egress, a następ wejście przez rolę ingress). W podzielonym grafie przejazd trafia na dwa różdne wierzchołki.

Połacność na każdej stronie pozostaje na poziomie 1, ale dwa wierzchołki rozbijające mogą zostać zastępione niezależenie. Dodanie drugiego proxy ingress zwiększa połacność na stronie ingress do 2 bez zmiany strony egress.

Replicacja Na KaŻdej Stronie

Fleety produkcyjne często uruchamiają 2+ proxy ingress (HA) I 2+ proxy egress (HA). Każda strona osiąga połacność 2 niezależenie. Pojemność skaluje się poziomo na każdej stronie, jeśli jest to konieczne.

Zespó obecnie korzysta z jednej boksy proxy (jeden wierzchołk rozbijający dla obu kierunków). Rozdzieliżię ję na jednego ingress + jednego egress, a następ dodadź drugiego ingress (pary HA), ale zatrzyma jednego egress. Przejdź przez zmiany połacności grafu w każdym kroku oraz zidentyfikuj półowy połów, który jest połaczony poło 3 krokach (co oznacza, że jest nadal najmniejszym modelem awaryjnym podatnym na błęd).

Tolerancja Na Rozdzielanie Sieci

Synteza

Teraz możesz czytać architektury sieci jako grafy bipartite, identyfikować węzły rozłączające oraz śledzić połączenia na pół.

Zastosuj to do podziałów sieci.

Podział sieci to grafowy cięcie: krawędzie przekraczające podział nie działają; obie strony nadal funkcjonują, ale nie mogą się docierać.

System rozproszony geograficznie składa się z dwóch centrum danych połączonych jedynie linkiem między-DCC. Ruch wchodzący wpada przez DC1; ruch wychodzący przechodzi przez DC1 do partnerów zewnętrznych; niektóre usługi wewnętrzne działają w DC2 i wywołują DC1 dla operacji stanowych.

Przewiduj, co stanie się, gdy przekażna DC zawodzi: (1) które półowe połowy zostanó połaczone wewnętrz każdej DC, (2) które przepłyny kontynuują i które przestanó, oraz (3) zaproponuj jedno zmiany architektoniczne, która pozwolić na utrzymanie tej tolerancji na podział z ząznanym degradacją zamiast pełnej awarii.

Notatki towarzyszące

Notatki towarzyszące

Ta geometria-lekcja przekształca główną lekcję "Rozdzielenie Ingress & Egress" jako analizę grafu bipartite.

Następna towarzysząca lekcja, geometry_of_failure_modes_and_blast_radius, wywodzi międzywęźnicę (identyfikuje węzły przeszkodowe) i min-cięcie (ogranicza promień eksplozji).

Bardzo dobrze.