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