Quali sono le differenze tra HAProxy e Nginx quando si tratta delle loro abilità come proxy inverso?
Quali sono le differenze tra HAProxy e Nginx quando si tratta delle loro abilità come proxy inverso?
Risposte:
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:
HAProxy:
nginx:
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.
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:
Nginx :
In Stack Overflow utilizziamo principalmente HAProxy con nginx per l'offloading SSL, quindi HAProxy è la mia raccomandazione.
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
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.