LVS vs HAProxy, quale dovrei scegliere?


21

Sto cercando una soluzione per il bilanciamento del carico e la strategia di failover, principalmente per le grandi applicazioni web. Abbiamo molti servizi da bilanciare, come web, MySQL e molti altri servizi basati su HTTP o TCP. Ma non sono sicuro di quali siano i loro pro e contro e quali dovrei scegliere.

Risposte:


24

La cosa più importante che differenzia le due soluzioni (LVS, HAproxy) è che una lavora allo strato 4 (LVS) e l'altra allo strato 7 (HAproxy). Si noti che i riferimenti ai livelli provengono dal modello di rete OSI.

Se lo capisci, sarai in grado di usarne uno nel posto giusto. Ad esempio: se è necessario eseguire il bilanciamento basato esclusivamente sul numero di connessioni (diciamo), il bilanciamento del carico di livello 4 dovrebbe essere sufficiente; d'altra parte, se si desidera bilanciare il carico in base al tempo di risposta HTTP, è necessario un tipo di livello superiore di LB.

Gli svantaggi dell'utilizzo di un livello superiore LB è la risorsa necessaria (per la stessa quantità di traffico, diciamo). I punti sono ovvi - si pensi all'ispezione a livello di pacchetto, al "routing del protocollo", ecc. - le cose sono molto più complicate del semplice "routing del pacchetto".

L'ultimo punto che voglio sottolineare è che HAproxy è spazio utente (pensa "molto più facile da personalizzare / modificare", ma più lento (prestazioni)), mentre LVS è nello spazio del kernel (pensa "veloce come l'inferno", ma rigido come il kernel ). Inoltre, non dimenticare di "aggiornare LVS potrebbe significare cambiare il kernel - ergo, reboot" ...

In conclusione, usa lo strumento giusto per il lavoro giusto.


Adoro il modo in cui le persone usano ancora i livelli OSI, nonostante non siano mai stati implementati nella realtà.
Kubanczyk,

9

Dovresti usare entrambi: HAProxy è un ottimo bilanciamento del carico e LVS è una soluzione per il failover ed evita un singolo punto di errore.


1
+1, tranne HAProxy è principalmente per l'utilizzo HTTP in quanto altrimenti nasconde l'IP di origine della richiesta che può essere un problema (ad esempio per RBL SMTP)
Antoine Benkemoun,

3
Sto usando HAProxy per server puri TCPC e funziona molto bene. L'Ip di origine nascosto è un problema per tutto il bilanciamento del carico.
lg.

2
Credo che l'IP di origine nascosta sia uno dei motivi per cui i loadbalancer non vengono spesso utilizzati per i servizi SMTP.
Stefan Lasiewski,

3
lvs e ha proxy fanno la stessa cosa. Preferisco LVS, molto più veloce perché gira sul kernel.
Diego Woitasen,

1
@AntoineBenkemoun è possibile utilizzare la modalità trasparente di HAProxy per mostrare l'IP client.
Thomas Decaux,
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.