Trafik yönlendirme: ağ dünyasında yük dengelemenin şifresini çözme

Ağ trafiğini dengelemek için yaygın teknikler, avantajları ve değiş tokuşları.

İçerik dağıtım ağları (CDN) ve bulut hizmeti sağlayıcıları dahil olmak üzere büyük ölçekli çok siteli İnternet sistemleri, gelen trafiği dengelemek için bazı yöntemler kullanır. Bu makalede, teknik yöntemleri ve değiş tokuşları dahil olmak üzere yaygın trafik dengeleme tasarımlarından bahsedeceğiz.

İlk bulut bilişim hizmeti sağlayıcıları, tek bir müşteri Web sunucusu sağlayabilir, bir IP adresi atayabilir ve bu IP adresini insan tarafından okunabilir bir alan adıyla işaret edecek şekilde bir DNS kaydı yapılandırabilir ve ardından IP adresini Sınır Ağ Geçidi Protokolü (BGP) üzerinden geçirebilirdi. ) Açıklandı, BGP, farklı ağlar arasında yönlendirme bilgisi alışverişinde bulunmanın standart bir yoludur.

Bu, kendi başına bir yük dengeleme değildir, ancak trafiği birden fazla yedekli ağ yoluna dağıtabilir ve ağ teknolojisi, kullanılamayan ağları atlamak için kullanılabilir, böylece kullanılabilirliği artırır (ayrıca asimetrik yönlendirmeye neden olur) .

Basit DNS yük dengeleme

Müşterilerden gelen trafik arttıkça, patron hizmetin yüksek oranda erişilebilir olmasını umuyor. Kendi bağımsız genel IP adresine sahip olan ikinci web sunucusunda çevrimiçi olursunuz ve ardından kullanıcı trafiğini iki sunucuya yönlendirmek için DNS kayıtlarını güncellersiniz (kalbimde, dengeli bir şekilde hizmet vermelerini umuyorum). Sunuculardan biri kapanmadan önce bu sorun değildi. Arızayı hızlı bir şekilde tespit edebileceğinizi varsayarak, arızalı makineye çözülen kayıtları silmek için DNS yapılandırmasını (manuel güncelleme veya yazılım aracılığıyla) güncelleyebilirsiniz.

Ne yazık ki, DNS kayıtları önbelleğe alındığı için, isteklerin yaklaşık yarısı istemci önbelleği ve bağlı oldukları DNS sunucusundaki önbelleğin süresi dolmadan başarısız olacaktır. DNS kayıtlarının ömrü (TTL) birkaç dakika veya daha uzundur, bu nedenle bu yöntemin sistem kullanılabilirliği üzerinde ciddi bir etkisi olacaktır.

Daha da kötüsü bazı istemciler TTL'yi tamamen yok sayacaklar, bu nedenle bazı istekler hatalı makinenize yönlendirilmeye devam edecek. Çok kısa bir TTL ayarlamak iyi bir yol değildir, çünkü bu, daha yüksek DNS hizmet yükü ve daha uzun erişim gecikmesi anlamına gelir, çünkü istemcinin daha fazla DNS sorgusu yapması gerekir. DNS hizmeti herhangi bir nedenle kullanılamıyorsa, daha kısa bir TTL ayarlamak hizmet trafiğinin daha hızlı düşmesine neden olur, çünkü çok sayıda istemci web sitenizin IP adresini önbelleğe almamıştır.

Ağ yük dengelemesini artırın

Yukarıdaki sorunları çözmek için, aynı sanal IP adresine (VIP) sahip bir çift yedekli katman dört (L4) ağ yükü dengeleyici ekleyebilirsiniz. Ekolayzır, HAProxy gibi donanım veya yazılım olabilir. Etki alanı adının DNS kaydı VIP'yi işaret eder ve artık yük dengeleme işlevini üstlenmez.

Dört katmanlı yük dengeleyici, kullanıcılar ve iki web sunucusu arasındaki bağlantıları dengeleyebilir

Dört katmanlı ekolayzer, ağ trafiğini dengeli bir şekilde arka uç sunuculara yönlendirir. Genellikle bu, IP paketinin beş-demetinin hashingine (matematiksel fonksiyon) dayalı olarak yapılır. Beşli grup şunları içerir: kaynak adresi, kaynak bağlantı noktası, hedef adres, hedef bağlantı noktası ve protokol (TCP veya UDP gibi). Bu yöntem hızlı ve etkilidir (hala TCP'nin temel özelliklerini korur) ve her bağlantının durumunu korumak için bir ekolayzer gerektirmez. (Daha fazla bilgi için lütfen Google tarafından yayınlanan ve dört katmanlı yazılım yük dengeleyicisinin uygulama ayrıntılarını ayrıntılı olarak tartışan Maglev makalesini okuyun.)

Dört katmanlı dengeleyici, arka uç hizmetlerde durum kontrolleri gerçekleştirebilir ve trafiği yalnızca sağlıklı makinelere dağıtabilir. Yük dengeleme için DNS kullanmaktan farklı olarak, bir arka uç web hizmeti başarısız olduğunda, trafiği diğer makinelere hızla yeniden dağıtabilir, ancak arızalı makinenin mevcut bağlantıları sıfırlanacaktır.

Arka uç sunucuların yetenekleri farklı olduğunda, dört katmanlı ekolayzır, trafiği ağırlığa göre dağıtabilir. İşletme ve bakım personeline güçlü yetenekler ve esneklik sağlar ve donanım maliyeti nispeten düşüktür.

Birden çok siteye genişletin

Sistemin ölçeği büyümeye devam ediyor. Müşterileriniz, veri merkezi arızalansa bile hizmeti kullanmaya devam etmek istiyor. Böylece, yeni bir veri merkezi oluşturdunuz ve bir dizi hizmeti ve dört katmanlı bir yük dengeleyici kümesini bağımsız olarak, yine aynı VIP'yi kullanarak dağıttınız. DNS ayarları değişmeden kalır.

Her iki sitedeki uç yönlendiriciler, VIP adresleri dahil olmak üzere adres alanlarını duyurur. VIP'ye gönderilen istek, kullanıcı ile sistem arasındaki ağın nasıl bağlandığına ve her ağın yönlendirme stratejisinin nasıl yapılandırıldığına bağlı olarak herhangi bir siteye ulaşabilir. Bu yayın. Çoğu zaman bu mekanizma çok iyi çalışabilir. Bir sitenin bir sorunu varsa, VIP adresini BGP aracılığıyla duyurmayı bırakabilirsiniz ve müşterinin isteği hızla başka bir siteye aktarılır.

Birden fazla site, hizmet sağlamak için Anycast kullanıyor

Bu ayarla ilgili bazı sorunlar var. En büyük sorun, isteğin hangi siteye gideceğini kontrol edememeniz veya bir sitenin akışını sınırlayamamanızdır. Ayrıca kullanıcının isteğini en yakın siteye aktarmanın net bir yolu yoktur (ağ gecikmesini azaltmak için), ancak ağ protokolü ve yönlendirme yapılandırması çoğu durumda kullanıcının isteğini en yakın siteye yönlendirebilmelidir.

Çok siteli bir sistemde gelen istekleri kontrol edin

Kararlılığı korumak için, her sitedeki trafik miktarını kontrol edebilmek gerekir. Bu tür bir kontrol elde etmek için, her siteye farklı bir VIP adresi atayabilir ve ardından yük dengeleme için basit veya güçlü DNS yoklamasını kullanabilirsiniz.

Birden çok site hizmet sağlar, her site yedek olarak bir ana VIP ve başka bir site kullanır. Coğrafi konumu algılayabilen DNS'ye dayanır.

Şimdi iki sorun var.

İlk olarak, DNS dengelemenin kullanılması, önbelleğe alınmış kayıtların olacağı anlamına gelir; bu, trafiği hızlı bir şekilde yeniden yönlendirmek istiyorsanız zahmetlidir.

İkinci olarak, bir kullanıcı her yeni DNS sorgusu yaptığında, herhangi bir siteye bağlanabilir, ki bu en yakın olmayabilir. Hizmetiniz yaygın olarak dağıtılmış birçok sitede çalışıyorsa, kullanıcılar, hizmeti sağlayan site ile kullanıcı arasında ne kadar ağ gecikmesi olduğuna bağlı olarak yanıt süresinde önemli değişiklikler yaşayacaktır.

Her sitenin diğer tüm sitelerin VIP adresleri ile yapılandırılmasına ve duyurmasına izin verin (böylece hatalı siteler de dahil edilecektir), böylece ilk problem çözülebilir. Ağda bazı püf noktaları vardır: Örneğin, yedekleme sitesi rotayı duyurduğunda, her VIP'nin ana sitesinin mevcut olduğu sürece hizmete öncelik vermesini sağlamak için ana site olarak belirli hedef adresi kullanmaz. Bu, BGP aracılığıyla elde edilir, bu nedenle trafiğin BGP güncellemesinden bir veya iki dakika sonra aktarılmaya başladığını görebilmeliyiz.

Kullanıcıya en yakın site sağlıklı ve hizmet verebilecek nitelikte olsa bile mutlaka kullanıcının fiilen ziyaret ettiği site olmayabilir.Bu sorunun iyi bir çözümü yoktur. Birçok büyük ölçekli İnternet hizmeti, farklı bölgelerdeki kullanıcılara farklı çözünürlük sonuçları döndürmek için DNS kullanır ve bu da belirli etkileri olabilir. Ancak, ağ adresinin yapısının coğrafi konumla ilgisi olmadığı için, bir adres segmenti konumunu değiştirebilir (örneğin, bir şirket ağı yeniden planladığında) ve birçok kullanıcı aynı DNS önbellek sunucusunu kullanabilir. Bu nedenle, bu şemanın belirli bir karmaşıklığı vardır ve hatalara eğilimlidir.

Yedi katmanlı yük dengeleme ekleyin

Başka bir süre sonra, müşterileriniz daha gelişmiş özellikler istemeye başlar.

Dört katmanlı yük dengeleme, trafiği birden çok web sunucusu arasında verimli bir şekilde dağıtabilmesine rağmen, yalnızca kaynak adres, hedef adres, protokol ve bağlantı noktasında çalışır. İsteğin içeriği bilinmemektedir, bu nedenle birçok gelişmiş işlev Dört katmanlı yük dengelemeyi gerçekleştirmek imkansızdır. Yedi katmanlı (L7) yük dengeleyici, isteğin içeriğini ve yapısını bilir, böylece daha fazlasını yapabilir.

Yedi katmanlı yük dengeleme, önbelleğe alma, hız sınırlama ve hata enjeksiyonu uygulayabilir.Yük dengeleme yaparken, isteğin maliyetini algılayabilirsiniz (bazı istekler, sunucunun işlemesi için daha fazla zaman gerektirir).

Yedi katmanlı yük dengeleme, trafiği isteğin özniteliklerine (HTTP tanımlama bilgileri gibi) göre dağıtabilir, SSL bağlantılarını sonlandırabilir ve uygulama katmanında hizmet reddi (DoS) saldırılarını önlemeye yardımcı olabilir. Büyük ölçekli L7 yük dengelemesinin dezavantajı, maliyet işleme isteklerinin daha fazla hesaplama gerektirmesi ve her etkin isteğin bazı sistem kaynaklarını işgal etmesidir. Bir veya daha fazla L7 ekolayzerin önünde bir L4 ekolayzer kümesi çalıştırmak, ölçek büyütmek için yararlıdır.

sonuç olarak

Yük dengeleme karmaşık bir sorundur. Yukarıda belirtilen stratejilere ek olarak, yük dengeleyiciler, istemci tarafı yük dengeleme teknolojileri ve son zamanlarda ortaya çıkan hizmet ağı için yüksek kullanılabilirlik teknolojilerini uygulamak için kullanılan farklı yük dengeleme algoritmaları vardır.

Çekirdek yük dengeleme modeli, bulut bilişimin gelişmesiyle birlikte gelişmeye devam ediyor ve büyük web hizmeti sağlayıcıları yük dengeleme teknolojisini daha kontrol edilebilir ve esnek hale getirmek için çabaladıkça bu teknoloji gelişmeye devam edecek.

Çin'de 20 yıldır Oscar en iyi film gişe şampiyonu! "Yeşil Kitap" 10 günde 300 milyon yuan'a kapanıyor
önceki
Baidu Education Brain 3.0 resmi olarak yayınlandı ve tüm akıllı eğitim çözümleri halka açık
Sonraki
Refine S7, 10.98-15.18 milyon ön satışla 8 yeni model ekledi
Dünyanın dikkatini çekin! Çin Ulusal Bilim ve Teknoloji Üniversitesi'nden Profesör Zhang Miman, Dünya Üstün Kadın Bilim İnsanı Ödülü'nü kazandı
Kızlar yakışıklı olduklarında erkeklerden korkar mı? New York Moda Haftası'ndaki havalı kızların nasıl giyindiğini izleyin!
Thangka Dekorasyon 315 Ulusal Ücretsiz Tek Festivali tüm hızıyla devam ediyor
Derinlemesine Master Nginx izleme işlemi ve bakımı, bu makale yeterlidir!
King of Glory oyunu bir dizi şiir kaydetti, eStar arka arkaya iki kez kaybetti, kedi tanrı açıkça pes etmek istiyor
2018'de açıklanan Çin'in en iyi 800 rekabet edebilirlik meslek yüksekokullarının listesi
Lao Luonun darbesi, Microsoft ve Apple ölebilir
Red Star Macalline Jiro Alışveriş Merkezi'nin 5. yıl dönümü kutlamalarına doğrudan giriş
Louis Koo Lin Feng'in "Yolsuzlukla Mücadele Fırtına 4" Pekin Prömiyeri Takımın Başında
League of Legends hayranları bu resmi gördü, ilk saniye güldü ve ikincisi ağladı
Kuşak ve Yol üzerindeki birçok ülkeden liderler, arabası en hükmeden olan Çin'e geliyor
To Top