Trafik Gelen Önce Botleneck Düğüm Belirlenir
Betweenness Centrality
Her iki düğüm için bir grafonda, en kısa yol arasında onlara bir tane bulunur. Betweenness centrality düğümü N = en kısa yolların tümünün N üzerinden geçiren kısmi.
Düğümün yüksek betweenness'i, birçok diğer çiftin yolunda olduğu anlamına gelir. Eğer yavaşlarsa, birçok akış yavaşlar. Eğer başarısız olursa, birçok akış kopar.
Mimarlık okuma: yüksek-betweenness düğümleri, her mimari inceleme için ek özenle dikkat edilmesi gerekenlerdir. Bunlar, SPOFs ve aynı zamanda hacim-critical bileşenleridir. Bunlar genellikle:
- DNS sağlayıcısı (her istemci ve hizmet arasındaki her şey)
- Giriş proxy (her istemci ve her arka uç arasındaki her şey)
- Veritabanı ana (her arka uç ve her okuma arasındaki her şey)
- Kimlik doğrulama hizmeti (her kullanıcı ve her yetkilendirilmiş eylem arasındaki her şey)
Ölçüm olmadan tespit: grafik topoloji, yüksek-betweenness düğümlerini belirler. Trafik verinize ihtiyacınız yok, mimari diyagramınıza ihtiyacınız var. Bir düğümün birçok diğer çiftin arasında olduğu, yapısal olarak kritik olduğu anlamına gelir.
Operasyonel sonuç: yüksek-betweenness düğümleri, (1) kapasite headroom, (2) redüandans, (3) gözlemlilik ve (4) olay yanıt planlarına orantısız yatırım hak eder.
En Küçük Kesinti En Küçük Parçayı Ayrıştırır
Min-Cut Teoremi Basit Terimlerde
Grafikteki iki düğüm arasındaki min-cut, onlardan birinin onları ayırmak için en küçük sayıdaki kenarı veya düğümü kaldırmak gerektiği sayıdır.
Operasyonel okuma: min-cut, en kötü durumda patlayıcı radyusü sınırlar. 'clients' ve 'database' arasındaki min-cut 1 kenar (tek bir proxy) ise, o kenarı kaybetmek, tüm istemcilerin veritabanından ayrılmasını sağlar. Eğer min-cut 5 ise, tamamen ayrılabilmeniz için aynı anda 5 bileşeni kaybetmeniz gerekiyor; kötü şans, ancak sınırlı.
Patlayıcı radyusu için tasarım: her önemli sınırda min-cut'i artırın. Çoklu proxies; çoklu önbellek düğümleri; DC'ler arasındaki ağ yolları. Her eklemenin min-cut'i 1 artırması sağlar.
Blok kafes deseni grafik terimlerde: kaynakları birbirleriyle paylaşılmayan ayrı alt-gruplara böün. Bir alt-grup içindeki bir hata, diğerlerine yayılmaz çünkü kenarlar yoktur.
Çap Dizileri Hatası Yayılma Mesafesi
Grafik çap = herhangi iki düğüm arasındaki en uzun en kısa yol.
Hata yayılması: bir düğüm başarısız olursa ve akı tekrar dolaştırılırsa, bunlar, çap mesafesindeki yükseltici düğümleri etkiler. Bir sistem (client -> proxy -> backend -> DB) çap-3'i (client -> proxy -> backend -> DB) ise, bir DB hatası, 3 yükseltici katmanını etkileyen bir geri dizi fırtınası anlamına gelir.
İç anlamı: daha kısa çap daha hızlı hata sınırlaması sağlar ancak aynı zamanda daha fazla düğüm yoğunluğu anlamına gelir. Her tasarım kendi dengesini sağlar.
Gerçek Mimari için Min-Cut Hesapla
Bir mimari: 1 DNS, 1 CDN, 3 geri-proxy, 12 arka uç kopyası, 1 DB anahtarı.
Grafik Ölçüleri ile Hata Modu Denetimi
Sentetik
Şimdi yüksek-aralıklı düğümleri adlandırabilir, her sınırda min-cut'u hesaplayabilir ve çapla hata yayılma mesafesini tahmin edebilirsiniz.
Üçü de uygulayın.
Bir sistem: 50 müşteri uç noktası -> 1 DNS -> 2 CDN POP'sı -> 4 geri dönüştürülmüş proxy -> 16 arka uç kopyası -> { DB kümesi (1 ana + 2 yedek), Redis kümesi (5 düğüm), 3 dış API }.
Arkadaş Notlar
Arkadaş Notları
Bu geometri-öğretisi, Geçiş Modları & Patlama Alani ana dersini grafik ölçümlerle (aralıklar, min-kat, çapa) yeniden şekillendirir.
Son arkadaş, geometry_of_observability_and_capacity, CDN PoP yakalamaları için Voronoi hücreleri ele alır, latency üçgeninin ışık hızı tabanı ve proxy katmanında yeniden ziyaret edilen sıra bekli curve.
Yapılan iyi.