Ters proxy modunda HAProxy ve Ngnix arasındaki farklar nelerdir?


Yanıtlar:


5

2019 güncellemesi:

Hem stabil hem de olgun ürünlerdir. HAProxy yük dengelemeye adanmıştır ve bu konuda daha iyidir, oysa nginx yük dengeleyici olarak işlev görebilecek bir web sunucusudır.

Her ikisi de:

  • HTTPS desteği
  • Websocket desteği
  • Kararlı, olgun ve çok verimli ürünler
  • Minimum ayar ile veya ayar olmadan 10k bağlantıyı kaldırabilir

HAProxy:

  • TCP, TCP-SSL, HTTP ve HTTPS yük dengeleme
  • Sağlık kontrolü ve yerine çalışma şartları hakkında daha fazla esneklik
  • Temel önbellekleme (v1.8 - 2017)
  • Özelleştirilebilir günlük biçimi, erişim günlüklerini kibana / splunk / graylog dosyasına içe aktarmak için
  • Aktif talepleri ve sunucuların durumunu görmek için detaylı durum sayfası
  • İhraç edilebilir ölçümler, izleme çözümleriyle entegre etmek için (grafit / prometheus / datadog)
  • Daha yüksek performans odaklı. 100k bağlantıların veya 40 GbE arayüzlerinin üstesinden gelmek için daha iyi.

nginx:

  • HTTP ve HTTPS yük dengeleme (TCP - ücretli sürümde UDP)
  • Önbelleğe alma konusunda daha fazla esneklik
  • Özelleştirilebilir günlük biçimi, erişim günlüklerini kibana / splunk / graylog dosyasına içe aktarmak için
  • Durum sayfası yok (yalnızca ücretli sürümde)
  • Dışa aktarılabilir metrik yok (yalnızca ücretli sürümde)
  • Yerel dosyalar sunabilir
  • FastCGI uygulamalarına hizmet verebilir (CGI değil)

HAProxy tamamen açık kaynaklı bir yazılımdır. Önceden yüklenmiş HAProxy'li donanım aletleri satarak para kazanıyorlar.

Nginx açık çekirdeklidir ve birçok özellik yalnızca ücretli sürümde bulunur. Özellikle, bir durum sayfasından yoksun ve yük dengeleyicisini çalıştırmak için büyük bir NO NO olan ölçümleri izliyor.


42

HAProxy gerçekten sadece bir yük dengeleyici / ters proxy'dir. Nginx, ters proxy işlevi de yapabilen bir Web sunucusu.

İşte bazı farklılıklar:

HAProxy:

  • TCP yanı sıra HTTP proxy sunucusu kullanıyor mu (SSL 1.5 dev12'den eklendi)
  • Daha fazla oran sınırlama seçeneği
  • Yazar burada Sunucu Hatası ;-) ile ilgili soruları yanıtlıyor

Nginx :

  • SSL'yi doğrudan destekler
  • Ayrıca önbellekleme sunucusu

Yığın Taşması'nda çoğunlukla SSL boşaltması için nginx ile HAProxy kullanıyoruz, bu yüzden HAProxy benim tavsiyem.


11

HAProxy’yi önyüzlemek için nginx kullanıyorum, ancak yalnızca SSL sonlandırılıyor.

HAProxy (benim deneyimime göre) çok daha ayarlanabilir ve yönetilebilir bir yük dengeleyicidir.

Statik nesne önbelleklemesi için de Varnish kullanıyorum. (HAProxy'nin belirli bir arka ucu olarak)

Daha fazla bilgi için bu Sunucu Hatası sorusuna bakın. Nginx / vernik / haproksi siparişi vermek


3
En yeni (Eylül 2012) dengesiz HAProxy sürümleri şimdi SSL'yi destekliyor. (potansiyel olarak nginx çalıştırma ihtiyacımı ortadan kaldırıyor)
Joel K

5

Sadece yük dengeleme için gerekirse, HA proxy daha iyidir. Ancak hem nginix hem de HA proxy'sini birleştirmek daha faydalı olabilir; nginix statik içerik sağlamada hızlı olduğundan, statik veri için tüm isteği yerine getirir ve ardından tüm talepleri yük dengeleyici olarak hizmet veren ve web sunucusuna servis isteği gönderen HA proxy'sine gönderir yük dengeleme isteği.

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.