Yazılım http yük dengeleyici?


19

Şu anda site / web hizmeti başına yalnızca bir arka uç sunucumuz var. İnsanların çeşitli yük dengeleyici uygulamalarıyla (Linux'ta çalışan bir şey) deneyimlerini duymak isterim.

Ne önerirsiniz?

Yanıtlar:


13

Göre bölüm 27 arasında StackOverflow podcast , Reddit adamlar gerçekten gibi görünüyor HAProxy . Amazon'un EC2'siyle birlikte kullanılan HAProxy'yi gösteren kısa bir eğitim . Daha fazla bilgiyi HAProxy web sitesinde bulabilirsiniz .


3
HAProxy'yi bir dizi üretim sunucusunda kullanıyorum ve çok seviyorum. Yapılandırması kolaydır ve durumunu ve istatistiklerini gerçek zamanlı olarak kontrol etmek için basit bir web arayüzüne sahiptir. İlk HAProxz örneğimi kurmama yardımcı olan bir ekran görüntüsü [Gürültüye Karşı Sinyal blogu] [1] [1]: 37signals.com/svn/posts/1073-nuts-bolts-haproxy
Wes Oldenbeuving

Yönetilebilirlik yönünü unuttum. Kulağa çok hoş geliyor.
Mark Renouf

21

Soru, yük, ihtiyaç duyulan özellikler vb. Hakkında özel bilgi sağlamaz, bu nedenle herhangi bir cevap en iyi tahmindir.

Pound , daha küçük / orta ölçekli siteler için iyi bir seçimdir. HTTPS desteği ve kolay kurulum sunar.

HAproxy , 10G Ethernet borularını doyurmak için ölçeklendirilebilir ve bağlantı sınırlaması sunar, yani, işlenecek Apache çocuklarınız / Ruby on Rails örnekleriniz olduğundan her bir arka uç sunucusuna yalnızca aynı anda istek sayısı gönderir.

nginx , çok yönlü bir yük dengeleyici ve statik dosya sunucusu olarak mükemmeldir. Yük dengeleme yaparken HTTP sıkıştırma, URL yeniden yazma ve statik dosya sunumu yapabilir.

Apache 2.2 serisinde de oldukça iyi bir yük dengeleyici. Nginx ile aynı şeyi yapabilir, ancak sunucuya nginx'ten daha fazla yük yerleştirir. Apache'ye zaten aşina iseniz ve çok olgunlaştığınız zaman çok değerlidir.

Perlbal , arka uç ana bilgisayarları için kolay bağlantı sınırlaması, kalıcı HTTP bağlantılarında çoğullama istekleri ve zaten Perl kullanıyorsanız kolay kurulum sunar.

Vernik önbellek , temel yük dengeleme desteği ile ters bir HTTP proxy'dir. Büyük bir yük dengeleyici değildir, ancak bazı durumlarda en çok istenen nesnelerin bellekte önbelleğe alınması, arka uç sunucusu isabetlerinin yüksek bir yüzdesini kaldırabilir ve mükemmel bir performansa sahiptir. ESI kapsamları potansiyel olarak ilginçtir.

% 100 emin değilim, ama başımın üstünden Perlbal ve nginx yük dengeleyiciyi yeniden başlatmadan yapılandırmayı değiştirmek için bazı destek sunuyor. Daha büyük siteler için bu önemlidir ve iyi ticari yük dengeleme cihazlarının iyi yaptığı şeylerden biridir.

Yukarıdakilerin hepsi HTTP seviyesi (katman 7) yük dengeleyicileridir. TCP / IP seviyesi yük dengeleyicileri daha yüksek verime ulaşma potansiyeline sahiptir, ancak başka şekillerde sınırlıdır. HAProxy yazarı, yük dengeleme yöntemleri ve sorunları hakkında iyi ve okunabilir bir genel bakış yazdı: http://1wt.eu/articles/2006_lb/

LVS yaygın olarak kullanılan bir TCP / IP seviye yük dengeleyicisidir. Çoğu güvenlik duvarı, bir dizi arka uç IP adresi üzerinden gelen isteği toplayarak IP düzeyinde temel yük dengelemesi de yapabilir - en azından OpenBSD'nin PF ve Cisco ASA ve Juniper Netscreens bunu yapabilir.



3

haproksi LVS kadar iyi çalışır.

FWIW, wordpress.com dengeleyici / proxy olarak nginx kullanıyor.


2

Üretimde LVS kullanıyoruz. Operasyon ekibimiz tarafından bir dizi karmaşık ve kötü senaryo ile yönetilir. Oldukça akıllı bir ısmarlama sistem, yük dengeleyicinin ağırlıkları buna göre ayarlamasına izin vermek için alıcılarımızdan sağlık ve performans verilerini duyurur.

LVS elbette size tek bir arıza noktası verir - yük dengeleyici (bunları yedek olarak kurmanın yolları vardır).

Bunu kurmak için çok karmaşık olduğunu düşündüm, bu yüzden Windows NLB'nin nasıl çalıştığına gevşek bir şekilde dayanan Fluffy Linux Cluster'ı yazdım (sanırım ... bunun nasıl çalıştığından emin değilim) ve ayrıca CLUSTERIP'ten ilham aldım.

Üretimde kullanmıyoruz, ancak Fluffy, tek bir hata noktası ve merkezi yönetim düğümü vb.İle makul (en az 5) sayıda sunucuyu yük dengeleyebilir.


Hmm: LVS, kötü senaryolar, oldukça akıllı ısmarlama sistemler. Kurulumunuz bizimki gibi!
Tom Anderson

2

Geçmişte Pound kullandım . Hızlı, basit ve çok az dikkat gerektirir.



1

LVS ile gitmeye karar verirseniz, yük dengeleme sunucusu katmanınızı yüksek oranda kullanılabilir hale getirecekseniz Keepalived'e de bakarım. LVB ile birkaç aydır Kalp Atışı / Kalp Pili kullanıyordum ve basit bir HA LB katmanı için çok karmaşık ve bazen kararsız olduğunu gördüm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.