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żda stacja kończowa posiada komórkę płaszczyzny

Tesselacja Voronoya

Umieść N punktów (stacje końcowe: Punkty Presences) na płaszczyźnie. Narysuj granice obszarów tak, aby każdy punkt na płaszczyźnie był przypisany do najbliższej stacji końcowej. Wynik to diagram Voronoya: płaszczyzna dzieli się na N komórek, każda należąca do jednej stacji końcowej, zawierającej wszystkie punkty bliższe swojej stacji końcowej niż jakiejkolwiek innej.

Geometria CDN: każde żądanie użytkownika kieruje się do najbliższej stacji końcowej. Każda stacja kończowa obsługuje komórkę płaszczyzny geograficznej. Granice komórek to bisektory proste pomiędzy sąsiednimi stacjami końcowymi.

Czytanie geometryczne:

- Dodanie stacji końcowej zmniejsza komórki sąsiednich stacji końcowych (& tworzy nową komórkę)

- Usunięcie stacji końcowej siłą sprawia, że jej ład przekierowuje się do sąsiednich stacji (nawrót obciążenia na sąsiednich stacjach)

- Użytkownik znajdujący się blisko granicy komórek może przejść między stacjami końcowymi w zależności od zmiany równoważenia obciążenia

- Zawalenie jednej stacji końcowej powiększa każdą komórkę sąsiedniej podczas awarii

Skuteczny skutek operacyjny: gdy stacja kończowa zawala się, jej ład nie znika; migruje do sąsiednich stacji końcowych. Jeśli sąsiednie stacje są rozmiarem tylko dla ich normalnej komórki, nawrót obciążenia zniszczy je następnie (skalujące zawalenie się stacji końcowej). Dojrzałe dostawcy CDN rozmiarują każdą stację końcową z uwzględnieniem przeskoku obciążenia sąsiedniego.

! Komórki Voronoya wokół stacji końcowych; jedno zawalenie stacji końcowej powiększa komórki sąsiednie

Sieć CDN uruchamia 4 stacje końcowe obsługujące kontynent USA: Wybrzeże Zachodnie, Góry, Środek, Wybrzeże Wschodnie. Każda jest rozmiarem dla ~25% ogólnej ruchu w USA. Stacja kończowa Góry zawala się. Przewidywaj: (1) które sąsiednie stacje końcowe absorbują przetwarzane w wyniku przekierowania ładu i w jakiej proporcji, oraz (2) co się stanie, jeśli te sąsiednie stacje były rozmiarem dokładnie 25% każda z nich bez przestrzeni na rozwój.

Nierówność Trójkąta, którą nie można oszukać

Fizyka Ustala Dolną Granicę

Światło porusza się z prędkością ~300,000 km/s w próżni. W włóknie, około 200,000 km/s z powodu indeksu załamania. Co to znaczy:

- ~1,000 km włókna = ~5 ms w jedną stronę = ~10 ms w obie strony

- Wzdłuż wybrzeża USA (~5,000 km) = ~50 ms RTT minimum

- USA do Europy (~8,000 km) = ~80 ms RTT minimum

- Przeciwboczne (środek świata) = ~200 ms RTT minimum

To jest podłoga. Prawdziwe RTT zawsze jest większe (skoki routera, przełączanie, kolejowanie, zakłócenia). żadne zastosowanie nie może działać szybciej niż pozwala to fizyka.

Trójkątny Nierówność

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

Odczyt sieciowy: jeśli Twoje usługa kieruje A -> B -> C zamiast A -> C bezpośrednio, opóźnienie wyniesie co najmniej sumę dwóch odcinków opóźnienia. Często więcej z powodu przetwarzania w B.

Czytanie architektoniczne: każde odwrócenie (proxy, balansowanie obciążenia, skok w CDN) dodaje co najmniej jeden odcinek okrężny do opóźnienia użytkownika. Korzyści z CDN wynikają z tego, że użytkownik zaczyna odcinek krótszy (PoP bliższy niż początek), nawet jeśli łączna liczba skoków wzrasta.

Pole środkowe pułapek: usługa, która czyta z regionu A, ale zapisuje do regionu B, ponosi opóźnienie A-do-B na każdym zapisie. Jeśli A & B są 100 ms oddalone, każdy zapis wymaga >= 100 ms minimum. Bazy danych rozciągnięte płacą tę podłogę za każdym razem.

Trójkąt opóźnienia: podłoga A-B-C ustalana przez odległość fizyczną

Zapłac za Podłogę

Usługa działa w dwóch regionach: US-East (us-east-1) & EU-West (eu-west-1). Dwa regiony są odległe o około 5,500 km. Usługa ma podstawową bazę danych w US-East. Użytkownicy z Europy mają swoje żądania obsługiwane przez tylne części EU-West, ale każdy zapis wymaga powrotu do podstawowej US-East.

Oblicz opóźnienie podłogi dla zapisu użytkownika z Europy (obrotnego z ich przeglądarki do tylnej części EU-West do głównej US-East i z powrotem). Porównaj to z odczytem użytkownika z Europy obsługiwanych wyłącznie z cache'u EU-West. Następnie zaproponuj jeden zmianę architektoniczną, która zmniejsza podłogę opóźnienia dla zapisu użytkowników z Europy.

Projektowanie rozmieszczenia PoP

Synteza

Teraz możesz czytać komórki Voronoya jako zbiorniki PoP dla obszarów odbiorców, obliczać podłogi opóźnienia prędkości światła oraz stosować krzywą kolejki na poziomie proxy.

Zastosuj wszystkie trzy.

Zespół planuje pokrycie CDN dla usługi z użytkownikami na trzech kontynentach: Ameryce Północnej (60% użytkowników), Europie (30%) oraz Azji (10%). Mają budżet na 6 punktów połączenia (PoP). Każde PoP może obsłużyć stały komórki o 70% wykorzystania bez przekroczenia kolana krzywej kolejki.

Projektuj rozmieszczenie PoP: (1) jak rozłożysz 6 PoP na trzech kontynentach, (2) jaką jest podłoga opóźnienia dla użytkownika z Azji obsługiwanej z PoP Europy, jeśli nie ma PoP Azji (załóż, że odległość wynosi ~9000 km) oraz (3) jaki zapas mocy potrzebujesz na jednym PoP, aby przetrwać bez zakłóceń pojedynczego PoP?

Zamknięcie kursu towarzyszącego

Zamknięcie kursu towarzyszącego

Ukończyłeś wszystkie pięć geometrycznych lekcji towarzyszących:

- Serwery proxy & źródła: skierowane grafy, liczba skoków, wpływ / wyjście, przekierowanie

- Skalowanie poziome bezstanowe: Prawo Little jako obszar, krzywa kolejki & jej kolano

- Rozdział wejściowy i wyjściowy: struktura dwudzielna, eliminacja wierzchołków cięcia, tolerancja partycji

- Tryby awaryjne & promieniowanie wybuchowe: międzynarodowa centralność, min-cut, średnica

- Obserwowanie & zdolność obliczeniowa (ta sama): komórki PoP Voronoya, podłoga opóźnienia trójkątnego dna, projekt geograficznej zdolności

Wątek przewodni: systemy rozproszone mają strukturę geometryczną. Każda architektura jest grafem. Każda podłoga opóźnienia to nierówność trojkątna. Każde decyzje dotyczące zdolności to krzywa & kolano. Gdy zobaczysz geometrię, operacyjne decyzje wynikają z niej.

W połączeniu z pięcioma podstawowymi lekcjami (cs_distsys_*), masz funkcjonalny model mentalny systemu rozproszonego skalowania webowego oraz dyscypliny geometrycznej do przeliczania go.

Świetnie zrobione.