Quali sono le differenze tra HAProxy e Ngnix in modalità proxy inverso?


Risposte:


5

Aggiornamento 2019:

Sono prodotti sia stabili che maturi. HAProxy è dedicato al bilanciamento del carico ed è meglio a questo, mentre nginx è un server web che può fungere da bilanciamento del carico.

Tutti e due:

  • Supporto HTTPS
  • Supporto WebSocket
  • Prodotti stabili, maturi e molto efficienti
  • Può gestire connessioni da 10k con una messa a punto minima o assente

HAProxy:

  • Bilanciamento del carico TCP, TCP-SSL, HTTP e HTTPS
  • Maggiore flessibilità sui controlli sanitari e sulle condizioni di failover
  • Caching di base (v1.8 - 2017)
  • Formato di registro personalizzabile, per importare i registri di accesso in kibana / splunk / graylog
  • Pagina di stato dettagliata, per visualizzare le richieste attive e lo stato dei server
  • Metriche esportabili, da integrare con soluzioni di monitoraggio (grafite / prometheus / datadog)
  • Più orientato alle alte prestazioni. Meglio indicato per gestire connessioni da 100k o interfacce da 40 GbE.

nginx:

  • Bilanciamento del carico HTTP e HTTPS (TCP - UDP in edizione a pagamento)
  • Maggiore flessibilità nella memorizzazione nella cache
  • Formato di registro personalizzabile, per importare i registri di accesso in kibana / splunk / graylog
  • Nessuna pagina di stato (solo edizione a pagamento)
  • Nessuna metrica esportabile (solo edizione a pagamento)
  • Può servire file locali
  • Può servire applicazioni FastCGI (non CGI)

HAProxy è un software gratuito, completamente open source. Guadagnano vendendo dispositivi hardware con HAProxy preinstallato.

Nginx è open core e molte funzionalità sono disponibili solo nell'edizione a pagamento. In particolare, manca una pagina di stato e metriche di monitoraggio che è un grande NO NO per gestire un bilanciamento del carico.


42

HAProxy è in realtà solo un bilanciamento del carico / proxy inverso. Nginx è un server web che può anche funzionare come proxy inverso.

Ecco alcune differenze:

HAProxy:

  • TCP e proxy HTTP (SSL aggiunto da 1.5-dev12)
  • Altre opzioni di limitazione della velocità
  • L'autore risponde alle domande qui su Server Fault ;-)

Nginx :

  • Supporta direttamente SSL
  • È anche un server di memorizzazione nella cache

In Stack Overflow utilizziamo principalmente HAProxy con nginx per l'offloading SSL, quindi HAProxy è la mia raccomandazione.


11

Uso nginx per frontend HAProxy, ma solo per la terminazione SSL.

HAProxy è un bilanciamento del carico molto più sintonizzabile e gestibile (nella mia esperienza).

Incorpora anche Varnish per la memorizzazione nella cache di oggetti statici. (come backend specifico di HAProxy)

Vedi questa domanda di errore del server per maggiori informazioni. Ordinazione di nginx / vernice / haproxy


3
Le più recenti build instabili (settembre 2012) di HAProxy ora supportano SSL. (potenzialmente rimuovendo il mio bisogno di eseguire nginx)
Joel K

5

Se necessario solo per il bilanciamento del carico, il proxy HA è migliore. Ma la combinazione di nginix e proxy HA può essere più utile, poiché nginix è veloce nel fornire contenuto statico, servirà tutte le richieste di dati statici e quindi invierà tutte le richieste al proxy HA che fungono da bilanciamento del carico e inviano richieste al server Web per servire richiesta bilanciando il carico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.