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 Düzlemin Bir Hücresine Sahiptir

Voronoi Döşemesi

Düzlem üzerine N adet nokta (PoP: Varış Noktaları) yerleştirin. Düzlemdeki her noktanın en yakın PoP'ye atanması için bölge sınırlarını çizin. Sonuç bir Voronoi diyagramıdır: düzlem, her biri bir PoP'ye karşılık gelen N hücreye ayrılır ve her hücre, kendi PoP'sine diğerlerinden daha yakın olan tüm noktaları içerir.

CDN geometrisi: her kullanıcının isteği en yakın PoP'ye yönlendirilir. Her PoP, coğrafi düzlemin bir hücresini hizmet verir. Hücre sınırları, komşu PoP'ler arasındaki çizgilerin dik orta imleridir.

Geometrik okuma:

- Bir PoP eklenmesi, komşu hücrelerin boyutunu küçültür (ve yeni bir hücre oluşturur)

- Bir PoP'in kaldırılması, hücresinin komşular arasında yeniden dağıtılmasına neden olur (komşularda kapasite artışı)

- Hücre sınırına yakın bir kullanıcı, yük dengelemesi değiştikçe PoP'ler arasında geçiş yapabilir

- Bir PoP arızası, kesinti sırasında her komşunun etkili hücre boyutunu büyütür

Operasyonel sonuç: Bir PoP arızalandığında, yükü kaybolmaz; komşu PoP'lere göç eder. Komşular yalnızca normal hücre boyutlarına göre boyutlandırıldıysa, bu ani artış onları da sıradaki arızaya sürükler (kademeli PoP arızası). Olgun CDN sağlayıcıları, her PoP'i komşu arıza artışını göz önünde bulundurarak boyutlandırır.

PoP'lerin etrafındaki Voronoi hücreleri; bir PoP arızası komşu hücreleri büyütür

Bir CDN, kıtasal ABD'ye hizmet veren 4 PoP çalıştırıyor: Batı Kıyı, Dağ, Orta Batı, Doğu Kıyı. Her biri toplam ABD trafiğinin ~%25'i için boyutlandırılmış. Dağ PoP'i arızalanıyor. Tahmin edin: (1) yeniden dağıtılan yükü hangi komşu PoP'ler absorbe eder, yaklaşık hangi oranda ve (2) bu komşular tam olarak %25'er için ve hiçbir pay (headroom) olmadan boyutlandırılmışsa ne olur.

Dolaylanamayacak Üçgen Eşitsizliği

Fizik Tabanı Belirler

Işık, boşlukta ~300.000 km/s hızla seyahat eder. Kırılma indisi nedeniyle fiberde yaklaşık 200.000 km/s'dir. Bu şu anlama gelir:

- ~1.000 km fiber = ~5 ms tek yönlü = ~10 ms gidiş-dönüş

- ABD kıtası boyu (~5.000 km) = ~50 ms RTT minimum

- ABD'den Avrupa'ya (~8.000 km) = ~80 ms RTT minimum

- Karşı kutup (dünyanın yarısı) = ~200 ms RTT minimum

Bu bir alt sınırdır. Gerçek RTT her zaman daha büyüktür (router atlamaları, anahtarlama, sıralama, tıkanıklık). Hiçbir uygulama, fizik izin verdiği hızdan daha hızlı olamaz.

Üçgen Eşitsizliği

A, B, C olmak üzere üç düğüm için üçgen eşitsizliği d(A,C) <= d(A,B) + d(B,C) olduğunu söyler: doğrudan yol, dolaylı yoldan daha kısadır (veya eşittir).

Ağ okuması: Servisiniz A -> C doğrudan yerine A -> B -> C şeklinde yönlendiriyorsa, gecikme en az iki bacak gecikmesinin toplamı kadardır. B'deki işleme nedeniyle genellikle daha fazladır.

Mimari okuma: Her dolaylı yönlendirme (proxy, yük dengeleyici, CDN atlaması) kullanıcının algıladığı gecikmeye en az bir gidiş-dönüş bacağı ekler. CDN avantajı, toplam atlamaya sayısını artırsa bile, kullanıcının bacağı kısaltarak (PoP, orijinden daha yakın) elde edilir.

Çok bölgeli tuzaklar: A bölgesinden okuyan ama B bölgesine yazan bir hizmet, her yazma işleminde A'dan B'ye olan gecikmeyi yaşar. A ve B 100 ms uzaklıkta ise, her yazma işlemi en az 100 ms sürer. Uzatılmış veritabanları bu alt sınırı her zaman öder.

Gecikme üçgeni: A-B-C alt sınırı fiziksel mesafe ile belirlenir

Alt Sınırı Öde

Bir hizmet iki bölgede çalışıyor: US-East (us-east-1) ve EU-West (eu-west-1). İki bölge yaklaşık 5.500 km uzaklıkta. Hizmetin birincil veritabanı US-East'te. AB kullanıcılarının istekleri EU-West arka uçları tarafından karşılanıyor, ancak her yazma işlemi US-East birincil veritabanına geri bir çağrı gerektiriyor.

AB kullanıcısı için bir yazma işleminin gecikme alt sınırını hesaplayın (tarayıcılarından EU-West arka ucuna, oradan US-East birincil veritabanına ve geriye gidiş-dönüş). Bunu, tamamen EU-West önbellek durumundan karşılanan bir AB kullanıcısı okuma işlemiyle karşılaştırın. Sonra, AB kullanıcıları için yazma gecikme alt sınırını azaltan bir mimari değişiklik önerin.

Coğrafi Kapasite Tasarımı

Sentez

Artık Voronoi hücrelerini PoP havzaları olarak okuyabilir, ışık hızı gecikme tabanlarını hesaplayabilir ve proxy katmanında kuyruklama eğrisini uygulayabilirsiniz.

Üçünü de uygula.

Bir ekip, üç kıtada kullanıcıları bulunan bir servis için CDN kapsamını planlıyor: Kuzey Amerika (kullanıcıların %60'ı), Avrupa (%30), Asya (%10). Bütçeleri 6 PoP için yeterli. Her PoP, kuyruk eğrisinin diz çökme noktasını (knee) aşmadan %70 kullanım oranında kararlı bir hücreyi (steady cell) hizmet verebilir.

PoP yerleşimini tasarlayın: (1) 6 PoP'yi üç kıta arasında nasıl dağıtırdınız, (2) Asya'da bir PoP yoksa, en küçük kullanıcı payına sahip bölgedeki (Asya, %10) bir kullanıcının Avrupa'daki bir PoP tarafından hizmet alması durumunda gecikme alt sınırı nedir (yaklaşık 9000 km mesafe varsayın) ve (3) tek bir PoP arızasında zincirleme etki olmadan hayatta kalmak için PoP başına ne kadar kapasite payı (headroom) gereklidir?

Eşlik Kursunu Kapatma

Eşlik Kursunu Kapatma

geometry-of- eşlikçi derslerinin tüm beşini tamamladınız:

- Proksiler ve Kökenler: yönlü graf, at sayısı, fan-in / fan-out, dolaylılık

- Durumsuz Yatay Ölçeklendirme: Little Yasası'nın alan olarak kullanımı, kuyruk eğrisi ve onun diz çökme noktası (knee)

- Giriş ve Çıkış Ayrımı: iki parçalı yapı, kesme tepe eleme, bölme toleransı

- Hata Modları ve Etki Alanı: aralık merkeziliği, min-cut (minimum kesim), çap

- Gözlemlenebilirlik ve Kapasite (bu ders): Voronoi PoP hücreleri, gecikme üçgeni alt sınırı, coğrafi kapasite tasarımı

Ana hat: dağıtık sistemler geometrik yapıya sahiptir. Her mimari bir graf'tır. Her gecikme alt sınırı bir üçgen eşitsizliğidir. Her kapasite kararı bir eğri ve bir diz çökme noktasıdır (knee). Geometriyi gördüğünüzde, operasyonel kararlar bundan kendiliğinden çıkar.

Beş ana ders (cs_distsys_*) ile birleştirildiğinde, web ölçeğinde bir dağıtık sisteminin işleyen bir zihinsel modeline ve bu sistem hakkında akıl yürütmek için gerekli olan graf kuramsal disiplinine sahip olursunuz.

Aferin.