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

un

Gast
1 / ?

Jeder PoP besitzt ein Zell des Raumes

Voronoi-Zerlegung

Setzen Sie N Punkte (PoPs: Punkte der Präsenz) auf einer Ebene. Zeichnen Sie Gebietsgrenzen, damit jeder Punkt auf der Ebene dem nächsten PoP zugewiesen ist. Das Ergebnis ist ein Voronoi-Diagramm: Die Ebene teilt sich in N Zellen, eine pro PoP, jede enthaltend alle Punkte, die näher an ihrem PoP als an einem anderen liegen.

CDN-Geometrie: Jede Anfrage eines Benutzers wird zum nächsten PoP geroutet. Jeder PoP dient einem Zell des geografischen Raumes. Die Zellgrenzen sind die senkrechten Mittelachsen der Linien zwischen benachbarten PoPs.

Geometrische Lektüre:

- Hinzufügen eines PoPs verkleinert die Zellen seiner Nachbarn (& erstellt eine neue Zelle)

- Entfernen eines PoPs zwingt dessen Last zu seinen Nachbarn (Kapazitätsanstieg bei Nachbarn)

- Ein Benutzer in der Nähe einer Zellgrenze kann zwischen PoPs wechseln, wenn die Lastenverteilung sich verschiebt

- Ein Ausfall eines PoPs vergrößert das effective Zell jedes Nachbarn während der Ausfallzeit

Operative Konsequenz: Wenn ein PoP ausfällt, verschwindet dessen Last nicht; sie wandert zu benachbarten PoPs. Wenn Nachbarn nur für ihr normales Zell ausgelegt sind, bricht die Lastspitze sie als nächstes (kaskadierender PoP-Fehler). Reife CDN-Anbieter dimensionieren jeden PoP mit einem Überleben bei Nachbarausfällen im Sinn.

Voronoi-Zellen um PoPs; ein PoP-Fehler vergrößert die Nachbarn-Zellen

Eine CDN betreibt 4 PoPs, die den kontinentale USA bedienen: Westküste, Rocky Mountains, Midwest, Ostküste. Jeder ist für etwa 25% des gesamten US-Verkehrs ausgelegt. Der Rocky Mountain PoP schlägt fehl. Prognose: (1) welche Nachbar-PoPs den veränderten Last zuführen und in ungefähr welcher Proportion, und (2) was passiert, wenn diese Nachbarn genau 25% jedes ohne Puffer abdecken.

Das Dreiecksungleichung, die man nicht betrügen kann

Physik legt den Boden

Licht bewegt sich mit ~300.000 km/s im Vakuum. In Glasfäden etwa 200.000 km/s aufgrund der Brechungsindex. Das bedeutet:

- ~1.000 km Glasfaden = ~5 ms Einweg = ~10 ms Rückweg

- US-Küsten-zu-Küsten (~5.000 km) = ~50 ms RTT Minimum

- US nach Europa (~8.000 km) = ~80 ms RTT Minimum

- Antipodal (die Hälfte der Welt umrunden) = ~200 ms RTT Minimum

Dies ist ein Boden. Die tatsächliche Latenz ist immer größer (Router-Übergänge, Switching, Warteschlangen, Congestion). Keine Anwendung kann schneller als die Physik erlaubt.

Dreiecksungleichheit

Für drei Knoten A, B, C sagt die Dreiecksungleichheit, dass d(A,C) <= d(A,B) + d(B,C): eine direkte Strecke ist kürzer (oder gleich) als (jede) indirekte Strecke.

Netzwerk-Lesen: Wenn Ihre Dienstleistung A -> B -> C statt A -> C direkt routet, beträgt die Latenz mindestens die Summe der beiden Latenzen. Oft mehr aufgrund der Verarbeitung in B.

Architektonisches Lesen: Jede Indirektheit (Proxy, Lastausgleicher, CDN-Umschlagplatz) fügt mindestens einen Rundweg zu der vom Benutzer wahrgenommenen Latenz hinzu. CDN-Vorteile kommen von der Verkürzung des Benutzer-Beins (PoP näher als der Ursprung), selbst wenn die Gesamtanzahl der Übergänge steigt.

Falle mit mehreren Regionen: Ein Dienst, der aus der Region A liest, aber in Region B schreibt, verursacht A-nach-B-Latenz bei jedem Schreiben. Wenn A & B 100 ms voneinander entfernt sind, dauert jedes Schreiben mindestens >= 100 ms. Gekaufte Datenbanken zahlen diesen Boden jeden Mal.

Latenz-Dreieck: A-B-C-Boden durch physische Entfernung

Den Boden zahlen

Ein Dienst läuft in zwei Regionen: US-East (us-east-1) & EU-West (eu-west-1). Die beiden Regionen sind etwa 5.500 km voneinander entfernt. Der Dienst hat eine primäre Datenbank in US-East. EU-Nutzer haben ihre Anfragen von EU-West-Backends bedient, aber jedes Schreiben erfordert einen Rückruf zur US-East-Primärdatenbank.

Berechnen Sie die Latenzuntergrenze für einen EU-User-Schreibvorgang (Rundweg von ihrem Browser zu den EU-West-Backends nach US-East-Primärs & zurück). Vergleichen Sie dies mit einer EU-User-Lesevorgang, der vollständig von EU-West-cached Zustand gespeichert wird. Dann einen architektonischen Vorschlag, der die Schreiblatenzuntergrenze für EU-Nutzer reduziert.

Geografische Kapazitätsplanung

Synthesis

Sie können jetzt Voronoi-Zellen als PoP-Trinkwasserschläuche lesen, die Geschwindigkeit der Lichtwellenleiteruntergrenze berechnen und die Warteschlangenkurve auf der Proxy-Ebene anwenden.

Wenden Sie alle drei an.

Ein Team plant die CDN-Abdeckung für einen Dienst mit Benutzern auf drei Kontinenten: Nordamerika (60% der Benutzer), Europa (30%) und Asien (10%). Sie haben einen Budget für 6 PoPs. Jeder PoP kann einen ständigen Zelle bei 70% Auslastung ohne die Knie der Warteschlangenkurve zu überschreiten.

Planen Sie die PoP-Verteilung: (1) wie würden Sie 6 PoPs über die drei Kontinente verteilen, (2) für den kleinsten Benutzeranteil (Asien mit 10%) ist die Latenzuntergrenze für einen Benutzer aus Asien, der von einem Europa-PoP bedient wird, wenn kein Asien-PoP existiert (annehmen Sie ~9000 km Entfernung) und (3) welches Kapazitätsreservewürge pro PoP benötigen Sie, um eine Einzel-PoF-Fehlersituation ohne Kaskadeneffekte zu überleben?

Schließen Sie den Begleitkurs

Schließen Sie den Begleitkurs

Sie haben alle fünf geometrie-of-* Begleitunterricht abgeschlossen:

- Proxies & Origins: gerichtete Graphen, Sprungzahl, Fan-in / Fan-out, Indirektheit

- Stateless Horizontal Scaling: Little's Gesetz als Fläche, Warteschlangenkurve & ihr Knie

- Ingress & Egress Separation: bipartite Struktur, Eliminierung von Schnittpunkten, Trennungsverträge

- Failure Modes & Blast Radius: zwischenzentrale Nähe, Minimalkür, Durchmesser

- Observability & Capacity (dieser): Voronoi-PoP-Zellen, Latenzdreieckuntergrenze, geografische Kapazitätsplanung

Die Verbindungslinie: Verteiltes System haben geometrische Struktur. Jede Architektur ist ein Graph. Jede Latenzuntergrenze ist ein Dreiecksungleichheit. Jede Kapazitätsentscheidung ist eine Kurve und ein Knie. Wenn Sie die Geometrie sehen, folgen die Betriebsentscheidungen aus ihr.

In Kombination mit den fünf Hauptunterrichten (cs_distsys_*) haben Sie ein funktionierendes mentales Modell eines web-skalierten verteilten Systems und der graphentheoretischen Disziplin, um daran zu reasonen.

Gut gemacht.