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

un

konuk
1 / ?
derslere geri dön

Her PoP Planın Bir Hücre Sahibidir

Voronoi Bölme

Plan üzerinde N nokta (PoP: Mevcutlık Noktası) yerleştirin. Bölge sınırları oluşturun ki planın her noktası en yakın PoP'a atanmış olsun. Sonuç, N hücreye bölünmüş bir Voronoi diyagramı: her PoP için bir hücre, diğerlerinden daha yakın olan PoP'a daha yakın olan tüm noktaları içeren.

CDN geometrisi: her kullanıcının isteği en yakın PoP'a yönlendirilir. Her PoP, coğrafi planın bir hücresini serves. Hücre sınırları komşu PoP'lar arasındaki noktalar arasındaki dik orta çizgileridir.

Geometrik okuma:

- Bir PoP eklemek komşu hücrelerini küçültür (& yeni bir hücre oluşturur)

- Bir PoP kaldırmak, hücrenin yükünü komşulara (kapasite patlaması) yeniden dağıtılır

- Bir hücre sınırında bir kullanıcı, yük dağıtımını değiştiren PoP'a sıçrayabilir

- Bir PoP'ın başarısız olması, hücrenin genişlemesini her zaman genişletir

Operasyonel sonuç: bir PoP başarısız olduğunda, yük ortadan kalkmaz; komşu PoP'lara migrated. Eğer komşular sadece normal hücreleri için boyutlandırılırsa, patlama onları da kılar (dizi PoP başarısızlığı). Olgun CDN sağlayıcıları, her PoP'ı başarısızlık patlaması için komşu düşünerek boyutlandırır.

Voronoi hücreleri etrafındaki PoP'lar; bir PoP başarısızlığı komşu hücreleri büyütür

Bir CDN, ABD'nin kıtalarındaki 4 PoP'a hizmet eder: Batı Sahili, Dağlar, Orta Batı, Doğu Sahili. Her biri toplam ABD trafiği için %25 oranında boyutlandırılır. Dağlar PoP'ı başarısız olur. Tahmin: (1) kaldırılan yükü hangi komşu PoP'lar absorbe eder ve yaklaşık olarak ne oranlarda, ve (2) eğer o komşular %25 her biri için tam bir başlık olmadan boyutlandırılırsa ne olur?

İkilem Eşitliğiyle Çekilemez

Fizik Zemi Oluşturur

Işık vakumda ~300.000 km/s hızla hareket eder. Fiber içinde, yaklaşık 200.000 km/s, refraktif indeks nedeniyle. Bu demektir:

- ~1.000 km fiber = ~5 ms tek yönlü = ~10 ms dörtlük

- Amerika Birleşik Devletleri'nden kıyıya kıyıya (~5,000 km) = ~50 ms RTT minimum

- Amerika Birleşik Devletleri'nden Avrupa'a (~8,000 km) = ~80 ms RTT minimum

- Karşıt (dünya etrafında yarı yarıya) = ~200 ms RTT minimum

Bu, zeminidir. Gerçek RTT her zaman daha büyük (yönlendirici atlamaları, switching, sıralama, kuyruklama, kargaşa). Hiçbir uygulama fiziksel sınırları aştıramaz.

Üçgen Eşitliği

Üç düğüm A, B, C için, üçgen eşitliği d(A,C) <= d(A,B) + d(B,C) diyor: bir doğrudan yol, herhangi bir dolaylı yoldan daha kısa (veya eşit) olmalıdır.

Ağ okuma: Eğer hizmetiniz A -> B -> C yerine A -> C doğrudan değilse, gecikme süresi iki bacağını toplamının en azından kat eder. Sıklıkla daha fazla, B'de işlem yapma nedeniyle.

Mimari okuma: Her dolaylılık (proxy, yük dengleyici, CDN atımı) en az bir tur-atım ekler kullanıcının algıladığı gecikmeye. CDN'den yararlanma, kullanıcının yolunu kısaltarak (PoP kökeninden daha yakın) gelir, ancak toplam atım sayısı artar.

Çok bölge tuğlaları: Bir hizmetin okuma yapacağı bölge A ama yazacağı bölge B, her yazmada B'ye olan gecikmeyi yaşar. Eğer A & B 100 ms arasında ise, her yazmada en azından 100 ms minimum gecikme yaşanır. Uzatılı database her seferinde bu zeminin ödemesini yapar.

Gecikme üçgeni: A-B-C zeminini fiziksel mesafe belirler

Zemin Öde

Bir hizmet iki bölgeye yayılmıştır: US-East (us-east-1) & EU-West (eu-west-1). İki bölge yaklaşık olarak 5,500 km uzaklıkta. Hizmetin ana veritabanı US-East'te bulunuyor. EU kullanıcıların istekleri EU-West arka ucu tarafından karşılanır, ancak her yazım US-East ana'ya geri bir çağrı gerektirir.

EU kullanıcı yazım gecikme zeminini (browser'larından EU-West arka ucu US-East ana ve geri) hesaplayın. Bu, tamamen EU-West önbelleğe dayalı okuma için EU kullanıcı gecikme zeminini karşılaştırın. Sonra EU kullanıcılar için yazım gecikme zeminini azaltmayı önerin.

Coğrafi Kapasite Tasarımı

Sentetik Oluşturma

Şu anda Voronoi hücrelerini PoP yakalamalarını okuyabilir, hızlanma tabanlı gecikme tabanlarını hesaplayabilir ve proxy katmanında kuyruklama eğrisini uygulayabilirsiniz.

Hepsi uygula.

Bir ekip, hizmet için üç kıta üzerinde kullanıcı planlayan CDN kaplama kapsamını planlıyor: Kuzey Amerika (kullanıcıların %60'ı), Avrupa (kullanıcıların %30'u), Asya (%10). Onlara 6 PoP için bütçe var. Her PoP, 70'lik bir istikrarlı hücreyi %100 kullanım olmadan kuyruklama eğrisinin dizginin altına geçirmeden sağlayabilir.

PoP yerleştirme tasarımı: (1) Üç kıta üzerinde 6 PoP'yu nasıl dağıtacaksınız, (2) en küçük kullanıcı payı (Asya %10) için, eğer Asya PoP'ı yoksa, Avrupa PoP'ından hizmet alabilecek bir Asya kullanıcısı için gecikme zeminini ve (3) tek PoP başarısızlığı olmadan kalmak için her PoP'dan talep edecek olan kapasite fazlasını hesaplayın.

Kompanion Dersi Kapatma

Kompanion Dersi Kapatma

Beş geometri-of-* yardımcı dersini tamamladınız:

- Proxies & Origins: yönlendirilmiş grafikler, atım sayımı, fan-in / fan-out, yönlendirme

- Stateless Horizontal Scaling: Little's Law'un alanı, kuyruklama eğrisi ve dizgini

- Ingress & Egress Separation: ikili yapı, kesikli vertex silme, bölünme toleransı

- Failure Modes & Blast Radius: arasında merkezi, min-cut, çapa

- Observability & Capacity (bu): Voronoi PoP hücreleri, gecikme üçgen tabanı, coğrafi kapasite tasarımı

Ayrıntılı hat: dağıtılmış sistemler geometrik yapıya sahiptir. Her mimari bir grafiktir. Her gecikme tabanı bir üçgen eşitsizliğidir. Her kapasite kararı bir eğri ve bir dizgiden kaynaklanır. Bir kere geometriyi görürsünüz, operasyonel kararlar onu izler.

Beş ana dersle (cs_distsys_*) birlikte, web ölçekli dağıtılmış bir sistemin çalışır bir zihinsel modeline ve bu sistemi reason etmek için grafik teorik disiplinine sahipsiniz.

İyi iş çıkarmışsın.