Vantaggi dell'utilizzo del proxy Nginx o HA come bilanciamento del carico


9

Nel nostro ambiente abbiamo sia Nginx che HA Proxy su cluster diversi. Ci sono vantaggi nell'usare l'uno rispetto all'altro?

Oppure, qual è il modo migliore per eseguire il bilanciamento del carico di un cluster di server LAMP di base?

Risposte:


8

(Non entrerò nel "modo migliore per bilanciare il carico", dal momento che è ovviamente specifico per la situazione.)

Sia HAProxy che nginx sono scelte eccellenti per i bilanciatori di carico HTTP open source su Unix. A un livello molto alto, i pro e i contro che mi vengono in mente per primi sono IMHO:

nginx:

  • Può eseguire l'offloading SSL (spesso un problema).
  • Dispone di un ricco set di moduli di elaborazione dei contenuti, ovvero riscrittura delle intestazioni, compressione dei contenuti, ecc.
  • A volte può essere "l'unico HTTPd necessario", semplificando l'amministrazione se non hai bisogno di altri HTTPd.
  • Più estensibile con plugin, FX per il traffico di routing.

HAProxy:

  • Può offrire prestazioni single-server più elevate rispetto a nginx (specialmente quando si esegue in modalità TCP, è stato dimostrato 10 gbit / s ).
  • IMHO più semplice da installare e da utilizzare per semplici configurazioni di bilanciamento del carico HTTP di base.
  • Cambiamenti un po 'meno, specialmente i rami stabili leggermente più vecchi spesso vanno per un po' senza bisogno di aggiornamenti di sicurezza e stabilità.

Ma come detto, entrambi sono scelte eccellenti. Scegli quello con cui ti senti più a tuo agio.


1
La compressione è un grande vantaggio per nginx, quindi ho finito con: haproxy + nginx per avere un semplice failover (haproxy) e compressione gzip (nginx).
Alexis Lê-Quôc,

2

Dipende davvero da cosa vuoi fare.

Nginx può dividere il carico tra i cluster, nonché instradare domini specifici a cluster diversi. Le nostre prestazioni nginx sono state soddisfacenti. È più simile a un router di carico.

Per haproxy so che interroga costantemente lo stato del server e controllerà il server prima di indirizzare il traffico verso di esso. Ha anche un'interfaccia in cui è possibile visualizzare le statistiche. nginx Non credo lo faccia su nessuno dei due punteggi.


1

Usiamo nginx come webserver e ne siamo molto contenti. Non tornerò mai più ad Apache. Il rovescio della medaglia è se sei intenzionato a eseguire PHP; richiede alcuni hacker-jiggery per farlo funzionare in fastCGI.

Non dimenticare di mettere Varnish in posizione per la memorizzazione nella cache! Questo semplice passaggio risolve molti dei problemi dei siti Slashdotted / Fireballed!


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.