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

Każdy PoP posiada własną komórkę płaszczyzny

Tesselacja Voronoi

Umieść N punktów (PoP: Punkty Obecności) na płaszczyźnie. Narysuj granice regionów tak, aby każdy punkt na płaszczyźnie był przypisany do najbliższego PoP. Wynikiem jest diagram Voronoi: płaszczyzna dzieli się na N komórek, po jednej dla każdego PoP, z których każda zawiera wszystkie punkty bliższe jej PoP niż któremukolwiek innemu.

Geometria CDN: żądanie każdego użytkownika jest kierowane do najbliższego PoP. Każdy PoP obsługuje komórkę płaszczyzny geograficznej. Granice komórek to proste symetralne odcinków łączących sąsiednie PoP.

Interpretacja geometryczna:

- Dodanie PoP zmniejsza komórki jego sąsiadów (& tworzy nową komórkę)

- Usunięcie PoP wymusza redystrybucję jego komórki do sąsiadów (gwałtowny wzrost obciążenia u sąsiadów)

- Użytkownik znajdujący się w pobliżu granicy komórki może przełączać się między PoP-ami w miarę zmian w równoważeniu obciążenia

- Awaria jednego PoP powiększa efektywne komórki wszystkich sąsiadów w czasie trwania awarii

Konsekwencja operacyjna: gdy PoP ulega awarii, jego obciążenie nie znika; migruje do sąsiednich PoP-ów. Jeśli sąsiedzi są wymiarowani wyłącznie pod swoją normalną komórkę, gwałtowny wzrost obciążenia spowoduje ich kolejną awarię (kaskadowa awaria PoP-ów). Doświadczeni dostawcy CDN wymiarują każdy PoP z uwzględnieniem gwałtownego wzrostu obciążenia wynikającego z awarii sąsiada.

Komórki Voronoi wokół PoP-ów; awaria jednego PoP powiększa komórki sąsiadów

CDN obsługuje 4 PoP-y na terenie kontynentalnych USA: Wybrzeże Zachodnie, Góry Skaliste, Środkowe, Wybrzeże Wschodnie. Każdy jest wymiarowany na ~25% całkowitego ruchu w USA. PoP Góry Skaliste ulega awarii. Przewidź: (1) które sąsiednie PoP-y przejmują redystrybuowane obciążenie, & w przybliżeniu w jakich proporcjach, & (2) co się stanie, jeśli ci sąsiedzi byli wymiarowani dokładnie na 25% każdy, bez żadnego zapasu.

Nierówność trójkąta, której nie da się oszukać

Fizyka wyznacza dolną granicę

Światło porusza się z prędkością ~300 000 km/s w próżni. W włóknie światłowodowym jest to około 200 000 km/s ze względu na współczynnik załamania. Oznacza to, że:

- ~1000 km światłowodu = ~5 ms w jedną stronę = ~10 ms w obie strony

- Z wybrzeża na wybrzeże USA (~5000 km) = minimum ~50 ms RTT

- USA do Europy (~8000 km) = minimum ~80 ms RTT

- Punkt antypodyczny (połowa okrążenia świata) = minimum ~200 ms RTT

To jest dolna granica. Rzeczywisty RTT jest zawsze większy (skoki przez routery, przełączanie, kolejkowanie, zatory). Żadna aplikacja nie może działać szybciej, niż pozwala na to fizyka.

Nierówność trójkąta

Dla trzech węzłów A, B, C nierówność trójkąta mówi, że d(A,C) <= d(A,B) + d(B,C): ścieżka bezpośrednia jest krótsza (lub równa) niż dowolna ścieżka pośrednia.

Interpretacja sieciowa: jeśli Twoja usługa kieruje ruch A -> B -> C zamiast bezpośrednio A -> C, opóźnienie wynosi co najmniej sumę opóźnień dwóch odcinków. Często jest ono większe ze względu na przetwarzanie na węźle B.

Interpretacja architektoniczna: każde pośredniczenie (proxy, load balancer, hop CDN) dodaje co najmniej jeden odcinek trasy do postrzeganej przez użytkownika opóźnienia. Korzyść z CDN wynika ze skrócenia odcinka użytkownika (PoP bliżej źródła niż origin), nawet jeśli całkowita liczba hopów rośnie.

Pułapki wieloregionowe: usługa, która odczytuje z regionu A, ale zapisuje do regionu B, ponosi opóźnienie A-do-B przy każdym zapisie. Jeśli A i B są oddalone o 100 ms, każdy zapis trwa co najmniej 100 ms. Rozciągnięte bazy danych płacą ten koszt minimalny za każdym razem.

Trójkąt opóźnień: dolna granica A-B-C wyznaczona przez odległość fizyczną

Płać za dolną granicę

Usługa działa w dwóch regionach: US-East (us-east-1) i EU-West (eu-west-1). Dwa regiony są oddalone od siebie o około 5 500 km. Usługa ma bazę danych główną w US-East. Żądania użytkowników z UE są obsługiwane przez backendy w EU-West, ale każdy zapis wymaga wywołania do bazy głównej w US-East.

Oblicz dolną granicę opóźnienia dla zapisu użytkownika z UE (trasa w obie strony: od przeglądarki użytkownika do backendu w EU-West, do bazy głównej w US-East i z powrotem). Porównaj to z odczytem użytkownika z UE obsługiwanym całkowicie z stanu buforowanego w EU-West. Następnie zaproponuj jedną zmianę architektoniczną, która zmniejsza dolną granicę opóźnienia dla zapisów użytkowników z UE.

Projektowanie pojemności geograficznej

Synteza

Teraz możesz interpretować komórki Voronoi jako zlewnie PoP, obliczać dolne granice opóźnień wynikające z prędkości światła oraz stosować krzywą kolejkowania na warstwie proxy.

Zastosuj wszystkie trzy.

Zespół planuje pokrycie CDN dla usługi z użytkownikami na trzech kontynentach: Ameryka Północna (60% użytkowników), Europa (30%), Azja (10%). Mają budżet na 6 PoP-ów. Każdy PoP może obsługiwać stabilną komórkę przy 70% wykorzystaniu, nie przekraczając kolana krzywej kolejkowania.

Zaprojektuj rozmieszczenie PoP-ów: (1) jak rozdzieliłbyś 6 PoP-ów między trzy kontynenty, (2) dla najmniejszego udziału użytkowników (Azja, 10%), jaki jest dolny próg opóźnienia dla użytkownika z Azji obsługiwany z PoP-u w Europie, jeśli nie istnieje PoP w Azji (zakładając dystans ~9000 km), oraz (3) jaki zapas pojemności wymagałbyś na każdy PoP, aby przetrwać awarię pojedynczego PoP-u bez kaskadowania?

Zakończenie kursu towarzyszącego

Zakończenie kursu towarzyszącego

Ukończyłeś/aś wszystkie pięć towarzyszących lekcji z zakresu geometrii-*:

- Prokse i Źródła: grafy skierowane, liczba hopów, fan-in / fan-out, pośrednictwo

- Be Stanowe Skalowanie Poziome: Prawo Little’a jako pole, krzywa kolejkowania i jej punkt przegięcia

- Separacja Ingress i Egress: struktura dwudzielna, eliminacja wierzchołków cięcia, tolerancja na podział

- Tryby Awarii i Promień Wybuchu: centralność międzyścienna, cięcie minimalne, średnica

- Obserwowalność i Pojemność (ta lekcja): komórki Voronoi dla punktów obecności (PoP), dolna granica trójkąta opóźnień, projektowanie pojemności geograficznej

Główny wątek: systemy rozproszone mają strukturę geometryczną. Każda architektura to graf. Każda dolna granica opóźnienia to nierówność trójkąta. Każda decyzja dotycząca pojemności to krzywa i jej punkt przegięcia. Gdy zobaczysz tę geometrię, decyzje operacyjne wynikają z niej naturalnie.

W połączeniu z pięcioma głównymi lekcjami (cs_distsys_*) dysponujesz działającym modelem mentalnym systemu rozproszonego w skali webowej oraz dyscypliną opartą na teorii grafów, aby rozumować na jego temat.

Bardzo dobrze.