Giriş ve Çıkış Ayrık Kümeler Olarak
Ağ Mimarisinde İki Parçalı Grafikler
Bir iki parçalı graf, düğümleri iki kümeye ayırır ve kenarlar yalnızca kümeler arasında izin verilir (asla bir küme içinde değil).
Ağ sınırlarının doğal bir iki parçalı yapısı vardır:
- Giriş tarafı: Bir tarafta dış istemciler, diğer tarafta dahili hizmetler. Kenarlar: Giren dış istekler, çıkan dahili yanıtlar.
- Egress tarafı: Bir tarafta dahili servisler, diğer tarafta harici varış noktaları. Kenarlar: Giden çağrıları başlatan dahili servisler, geri dönen harici yanıtlar.
Asimetri:
- Ingress: Kaynak kümesi sınırsızdır (internet üzerindeki herkes). Varış noktası kümesi küçüktür (birkaç servis). Hacim kullanıcılarla ölçeklenir.
- Egress: Kaynak kümesi küçüktür (birkaç dahili servis). Varış noktası kümesi sınırlıdır (birkaç bilinen ortak). Hacim dahili aktiviteyle ölçeklenir.
Tek kutulu tasarım, her iki ikili (bipartite) yarısını da tek bir düğüm üzerinden çökertir. Bu düğümün hem dışarıdan (ingress) hem de içeriden (egress'in ters yönü) fan-in'i vardır. Düğümün yükü = her iki tarafın toplamı.
Ayrık tasarım, her iki ikili (bipartite) yarısını ayrı düğümlerde korur. Her düğüm, uygun ölçekleme eksenine sahip bir rolü işler.
Bölünmeden Önce: Her Yerde Bir Kesme Tepe
Tek Kutu: Her Şeyi Bir Tepe Tutuyor
Bölünmeden önce, her harici/içerik çifti arasında tek bir vekil kutusu (proxy box) bulunur. Grafik terimleriyle bu, yüksek dereceli bir kesme noktasıdır (cut vertex): kaldırılması, tüm istemcileri tüm arka uçlardan (backends) ve tüm iç servisleri tüm harici ortaklardan ayırır.
Bu düğümdeki bağlantı (connectivity) = 1'dir. Bu düğümü bozan herhangi bir olay (süreç çökmesi, ağ hatası, OOM kill), tüm bağımlı yolları keser.
Bölünmeden Sonra: Kesme Noktası İki Daha Hafif Düğümle Yer Değiştirir
Giriş (ingress) ve çıkış (egress) olarak bölünmek, tek bir düğüm olan yerde iki grafik düğümü oluşturur. Her düğüm artık yalnızca bir ikili (bipartite) yarıda yer alır:
- Giriş (Ingress) düğümü: harici-istemcilerden-iç-servislere ikili yarı için kesme noktası
- Çıkış (Egress) düğümü: iç-servislerden-ortaklara ikili yarı için kesme noktası
Saç tokası (hairpin) döngüsü geometrik olarak kaybolur: tek kutulu grafikte, hariciye dönük bir servise genel adres üzerinden ulaşmaya çalışan bir iç servisin, aynı düğümden iki kez geçmesi gerekiyordu (önce çıkış rolüyle dışarı, sonra giriş rolüyle içeri). Bölünmüş grafikte, geçiş iki farklı düğüme denk gelir.
Her taraf için bağlantı (connectivity) 1'de kalır, ancak iki kesme noktası bağımsız olarak değiştirilebilir. İkinci bir giriş (ingress) vekilinin eklenmesi, çıkış tarafını değiştirmeden giriş tarafındaki bağlantıyı 2'ye yükseltir.
Taraf Başına Kopyalama
Üretim filoları genellikle 2+ giriş (ingress) vekil sunucusu (HA) VE 2+ çıkış (egress) vekil sunucusu (HA) çalıştırır. Her taraf bağımsız olarak 2 bağlantıya (connectivity) ulaşır. Kapasite gerektiğinde her tarafta yatay olarak ölçeklenir.
Ağ Bölünmesine Dayanıklılık
Sentez
Artık ağ mimarilerini iki parçalı grafikler olarak okuyabilir, kesme köşelerini belirleyebilir ve her yarı için bağlantıyı izleyebilirsiniz.
Bunu ağ bölünmelerine uygulayın.
Bir ağ bölünmesi bir grafik kesimidir: bölünme boyunca kenarlar başarısız olur; her iki taraf çalışmaya devam eder ancak birbirine ulaşamaz.
Coğrafi olarak dağıtık bir sistem, tek bir veri merkezi arası bağlantıyla birbirine bağlı iki veri merkezine sahiptir. Giriş trafiği DC1 üzerinden girer; çıkış trafiği dış ortaklara DC1 üzerinden gider; bazı dahili hizmetler DC2'de yaşar ve durumlu işlemler için DC1'e geri çağırma yapar.
Eşlikçi Notlar
Eşlikçi Notlar
Bu geometri-dersi, Giriş ve Çıkış Ayrımı ana dersini bir iki parçalı (bipartite) graf analizi olarak yeniden formüle eder.
Sonraki eşlikçi ders olan geometry_of_failure_modes_and_blast_radius, aralık merkeziliğini (betweenness centrality) (darboğaz düğümlerini belirler) ve min-cut'ı (etki yarıçapını sınırlar) türetir.
Aferin.