Yük devretme ile HAProxy nasıl kurulur?


14

HAProxy yük dengeleme kurulumunda yük devretme sağlamak için HAproxy çalıştıran iki makineye ihtiyacınız olduğunu (ve birkaç web sunucusu örneğine yönlendirdiğinizi) anlıyorum. Ancak bu durumda, abcd.com deyin, bu trafiği bir yerine 2 IP adresine nasıl böleriz / yönlendiririz? DNS genellikle alan adlarını tek bir IP'ye çözümler. Bunu ücretsiz / ucuz araçlar / hizmetler kullanarak nasıl yapabiliriz?


Yanıtlar:


20

İki haproxy örneği arasında denge yüklemeniz gereken o kadar çok yükünüz varsa, DNS round robin kötü bir fikir değildir (bu yüke sahipseniz şaşırırım). DNS round robin iyi bir yük devretme sağlamaz.

Stack Overflow'da heartbeattek bir sanal IP sağlamak için kullanıyoruz , bu IP aynı anda yalnızca bir haproxy ana bilgisayarında etkindir (aşağı inerse, diğeri bu IP'yi devralır). Her makinede bir IP ve ardından ikisi arasında DNS round robin için kalp atışı kullanabilirsiniz. Biri başarısız olsaydı, diğerinde bu IP'lerin her ikisi de olurdu.

HAProxy, tek bir trafiğimizi dengelemek için fiziksel sunucumuzda yaklaşık% 1-5 CPU kullanıyor Intel(R) Xeon(R) CPU E5504 @ 2.00GHz. Dolayısıyla HAProxy genellikle çok fazla trafiği kolayca halledebilir.


1
Hayýr. Kesinlikle ÇOK trafiđim yok. Sadece SPOF'tan kaçınmak için bir girişimdir.
mixdev

2
@mixdev: Bu durumda, DNS'nin heatbeat tarafından sağlanan tek Sanal IP'ye işaret etmesi gerekir ve gitmek için iyi olmalısınız. Sadece her iki makinede de haproksi çalışır. Elbette canlı yayına başlamadan önce kalp atışı yük devretmeyi test ettiğinizden emin olun.
Kyle Brandt

@KyleBrandt: Ya epoksi işlemi ölseydi? Sanal IP'nin buna göre taşınmasına izin verecek şekilde yapılandırılmış bir şey var mı?
CarpeNoctem

@ CarpeNoctem: Şu anda bunu kapsamıyoruz. Bence hem kalp atışı hem de keepalived süreçleri izlemek için de kurulabilir. Bu rotaya giderseniz, işlemin iyi bir süre (yani 1 dakika) kapatılmasını gerektirecek şekilde ayarlanmasını tavsiye ederim. Büyük olasılıkla, kalp atışının bir yapılandırma hatası üzerinde sapmasını istemezsiniz. HAProxy bunların çoğunu kontrol eder -c, ancak bir bağlayıcı yapılandırma hatası gibi şeyleri yakalamayabilir.
Kyle Brandt

5
Umurunda olan herkes için Stack'de bir yıl önce iyi yaşamaya devam ettik
Kyle Brandt

24

Kyle'ın dediği gibi, kalp atışı iki haproxy sunucusunun bir başarısızlık çifti olarak davranmasını sağlamak için kullanılabilir. Ancak, birçok kişi bu iş için kalp atışı , keepalived haproxy'nin yazarı tarafından önerilmektedir.

Haroksi posta listesindeki ayrıntıları ana hatlarıyla verir: http://www.formilux.org/archives/haproxy/1003/3259.html

Kısacası şu şekilde gider:

  • kalp atışı kümelenmeye yöneliktir. Yalnızca bir sunucunun bir kaynağa erişimi olmasını sağlar (yani SAN depolama alanı)

  • keepalived ağ yönelimlidir. En az bir sunucunun söz konusu IP'ye sahip olmasını sağlar.


-1

1
Lütfen tarifin tam içeriğini yazınıza ekleyin. Tam olarak bir blog bağlantısı hizmeti değiliz.
Deer Hunter

1
ayrıca bloglar genellikle URL'leri düşürür veya değiştirir ve ardından bilgiler kaybolur.
Dennis Nolte

Aşağı oy çünkü soru ile tamamen alakasız.
danieljimenez

@danieljimenez, Ben tamamen ilgisiz değil bence, sadece bir yanlış anlama. OP, HAProxy'nin kendisi için Aktif / Pasif istedi ve kullanıcı3595100, soruyu bir HAProxy arka ucu için Aktif / Pasif olarak yorumladı. Bununla birlikte, bir bağlantı yayınlamak tek başına kabul edilebilir bir cevap değildir.
duct_tape_coder
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.