Trafik Gelmeden Önce Belirlenen Darboğaz Düğümü
Aracılık Merkeziyeti
Bir grafikteki her düğüm çifti için, aralarında en kısa bir yol vardır. N düğümünün aracılık merkeziyeti = N'den geçen tüm en kısa yolların oranıdır.
Yüksek aracılık merkeziyetine sahip bir düğüm, birçok diğer çiftin arasındaki yolda bulunur. Yavaşlarsa, birçok akış yavaşlar. Arızalanırsa, birçok akış kesilir.
Mimari yorum: Yüksek aracılık merkeziyetine sahip düğümler, her mimari incelemenin ekstra dikkat etmesi gereken düğümlerdir. Bunlar tek başına darboğaz, SPOF (Tek Nokta Arızası) ve kapasite açısından kritik bileşenlerdir. Genellikle şunlardır:
- DNS sağlayıcısı (her istemci ile her hizmet arasında)
- Giriş vekili (her istemci ile her arka uç arasında)
- Veritabanı birincil düğümü (her arka uç ile her okuma işlemi arasında)
- Kimlik doğrulama servisi (her kullanıcı ile her yetkilendirilmiş işlem arasında)
Ölçüm olmadan algılama: Yalnızca grafik topolojisi, yüksek aralık merkeziliğine sahip düğümleri belirler. Trafik verisine ihtiyacınız yoktur; mimari diyagrama ihtiyacınız vardır. Diğerlerinin birçok çifti arasında yer alan bir düğüm, yapısal olarak kritiktir.
İşletimsel sonuç: Yüksek aralık merkeziliğine sahip düğümler, (1) kapasite payı, (2) yedeklilik, (3) gözlemlenebilirlik ve (4) olay yanıtı senaryoları konusunda orantısız bir yatırıma layıktır.
En Küçük Kesim, En Küçük Dilimi Ayırır
Min-Cut Teoremi Basit Terimlerle
Bir grafikte iki düğüm arasındaki min-cut (minimum kesim) = onları birbirinden ayırmak için kaldırılması gereken en az kenar (veya düğüm) sayısıdır.
İşlevsel yorum: min-cut, en kötü senaryodaki etki alanını (blast radius) sınırlar. 'clients' (istemciler) ile 'database' (veritabanı) arasındaki min-cut 1 kenar ise (tek bir proxy), bu kenarın kaybı tüm istemcileri veritabanından keser. Min-cut 5 ise, tamamen kopuş için 5 bileşenin aynı anda kaybedilmesi gerekir; bu kötü bir şans olsa da sınırlıdır.
Etki alanı için tasarım: Her önemli sınırdaki min-cut değerini artırın. Birden fazla proxy; birden fazla önbellek düğümü; veri merkezleri arasında birden fazla ağ yolu. Her ekleme min-cut değerini 1 artırır.
Grafik terimleriyle bulkhead (hücre) deseni: Kaynakları, birbirleriyle ortak bir min-cut paylaşmayan ayrı alt grafiklere bölün. Kenarlar (bağlantılar) mevcut olmadığı için, bir alt grafik içindeki bir arıza diğerlerine yayılamaz.
Çap (Diameter), Arıza Yayılma Mesafesini Belirler
Grafik çapı (diameter) = herhangi iki düğüm arasındaki en uzun en kısa yol uzunluğudur.
Arıza yayılımı: Bir düğüm arızalandığında ve yeniden denemeler (retries) geriye aktığında, çap mesafesi kadar uzaklıktaki üst akış (upstream) düğümlerine kadar temas ederler. Çap-3'lük bir sistem (istemci -> proxy -> arka uç -> DB) durumunda, bir DB arızası yeniden deneme fırtınasında 3 üst katmanı etkiler.
Sonuç: Daha kısa çap = daha hızlı arıza izolasyonu, ancak aynı zamanda daha fazla düğüm yoğunlaşması demektir. Her tasarımın kendi ödünleşimi (tradeoff) vardır.
Gerçek Bir Mimari İçin Min-Cut Hesapla
Bir mimari: 1 DNS, 1 CDN, 3 reverse proxy, 12 backend replikası, 1 DB birincisi.
Graf Metrikleri ile Hata Modu Denetimi
Sentez
Artık yüksek aralık (betweenness) düğümlerini belirleyebilir, her sınırdaki minimum kesimi (min-cut) hesaplayabilir ve çap (diameter) aracılığıyla hata yayılım mesafesini tahmin edebilirsiniz.
Üçünü de uygulayın.
Bir sistem: 50 müşteri uç noktası -> 1 DNS -> 2 CDN POP -> 4 reverse proxy -> 16 arka uç replikası -> { DB kümesi (1 birincil + 2 yedek), Redis kümesi (5 düğüm), 3 harici API }.
Eşlikçi Notlar
Eşlikçi Notlar
Bu geometri dersinin, Hata Modları ve Patlama Yarıçapı ana dersini grafik metrikleri (aralıklılık, min-cut, çap) üzerinden yeniden kurguladığı bölüm.
Son eşlikçi olan geometry_of_observability_and_capacity, CDN PoP yakalama alanları için Voronoi hücrelerini, gecikme üçgeninin ışık hızı alt sınırını ve vekil katmanında yeniden ele alınan kuyruklama eğrisini ele alır.
Aferin.