Tamam, bu bir süre önce istendi ve partiye geç kaldım. Yine de buraya eklenecek bir şey var.
Jackie, hemen hemen çiviledin. Şekilde, çoğu küçük ve orta ölçekli kurulumda yük dengelemenin nasıl ele alındığı gösterilmektedir.
Sen okumalısınız Willy Tarreau tarafından yük dengeleme giriş Nakedible bağlantılı olduğunu. Hala geçerli ve iyi bir giriş.
Bunların ihtiyaçlarınızı nasıl karşıladığını düşünmeniz gerekir:
- TCP / IP seviyesi yük dengeleyicileri (Linux Virtual Server et al). Ek yük başına en düşük, en yüksek hız, HTTP'yi "göremez".
- HTTP düzeyinde yük dengeleyicileri (HAProxy, nginx, Apache 2.2, Pound, Microsoft ARR ve daha fazlası). Yüksek yük, HTTP görebilir, HTTP gzip olabilir, SSL yapabilir, yapışkan oturum yük dengeleme yapabilir.
- HTTP ters proxy sunucuları (Apache Traffic Server, Vernik, Kalamar). Önbelleğe alınabilen nesneleri (bazı web sayfaları, css, js, resimler) RAM'de saklayabilir ve arka uç web sunucusuna dahil olmadan sonraki istemcilere iletebilir. L7 HTTP yük dengeleyicileriyle aynı şeyleri yapabilir.
bir noktada dengeleyicinin de yardıma ihtiyacı olacağından eminim ikinci bir dengeleyici var.
Eminim. Ancak yük dengeleme basittir ve genellikle tek bir yük dengeleyici hızlı gidebilir . Tek bir modern sunucunun hangi performans balo salonunun sağlayabileceğinin bir örneği olarak, web'de bir sinir oluşturan bu makaleye bağlantı veriyorum . İhtiyacınız olmadan birden fazla LB kullanmayın. Ortak bir yaklaşıma ihtiyacınız olduğunda, en önde IP seviyesi yük dengeleyicileri (veya DNS Round Robin), HTTP seviyesi yük dengeleyicilerine, proxy'lere ve webapp sunucularına gider.
"dengeleyicilerin" ne olması gerektiğine ve bunların nasıl oluşturulacağına ilişkin en iyi uygulamalara yardımcı olun.
Sorun nokta, oturum durumu işleme ve bir ölçüde başarısızlık durumu davranışıdır. Yük dengeleyicilerini kendileri kurmak nispeten kolaydır.
Yalnızca 2-4 arka uç webapp sunucuları kullanıyorsanız, kaynak IP adresine dayalı statik karma işleminin uygun olabileceğini unutmayın. Bu, webapp sunucuları arasında paylaşılan oturum durumu ihtiyacını ortadan kaldırır. Her webapp düğümü toplam trafiğin 1 / N'sini görür ve müşteri-sunucu eşlemesi normal çalışmada statiktir. Yine de daha büyük kurulumlar için uygun değildir.
En iyi iki yük dengeleme algoritması, yüksek yük ve hatta yük dağılımı altında iyi huylu davranışlara sahip olmaları açısından, yuvarlak robin ve gerçek rastgele yük dengeleme. Bunların her ikisi de, web uygulamanızın webapp düğümlerinde kullanılabilen genel oturum durumuna sahip olmasını gerektirir. Bunun nasıl yapılacağı webapp teknoloji yığınına bağlıdır; ancak bunun için genellikle standart çözümler mevcuttur.
Statik karma veya paylaşılan oturum durumu sizin için uygun değilse, seçim genellikle ' yapışkan oturum ' yük dengeleme ve sunucu başına oturum durumudur. Çoğu durumda bu iyi çalışır ve tamamen uygulanabilir bir seçimdir.
dengeleyiciler her apache örneğinde kaç bağlantı olduğunu görür (dahili IP'ler veya sonsuz IP'lerin bazı yapılandırma listesi aracılığıyla) ve bağlantıları eşit olarak dağıtır
Evet, bazı siteler bunu kullanıyor. Mevcut birçok farklı yük dengeleme algoritması için birçok isim vardır. Yuvarlak robin veya rastgele (veya ağırlıklı yuvarlak robin, rastgele ağırlıklı) seçerseniz, yukarıda verilen nedenlerden dolayı bunu yapmanızı tavsiye ederim.
Son şey: Birçok satıcının (üst düzey Fx, Cisco ve diğerleri, fx Coyote Point ve Kemp Technologies daha makul fiyatlarla) olgun yük dengeleme aletleri sunduğunu unutmayın .