Sto cercando di decidere se utilizzare una soluzione di bilanciamento del carico di livello 4 per il mio datacenter o una soluzione di livello 7. Sfortunatamente (per la mia sanità mentale, cioè), il mio caso d'uso è abbastanza semplice che entrambe le soluzioni funzionerebbero bene, evitando la maggior parte dei punti deboli e non sfruttando realmente i punti di forza dell'altro. Qualunque sia la soluzione che usiamo, deve avere un'alta disponibilità e un alto rendimento. Ma stiamo pianificando di usarlo solo per caricare il bilanciamento su un cluster di server Web, nessuno dei quali ha requisiti per la gestione "appiccicosa" della sessione (cookie o IP), regole di riscrittura complesse o, in ogni caso, qualsiasi regola di riscrittura su tutti.
I bilanciatori del carico saranno collegati a due switch, entrambi con una connessione indipendente fino al livello di aggregazione del datacenter e uniti insieme tramite Rapid Spanning Tree e qualsiasi protocollo proprietario che gli switch utilizzano per la virtualizzazione. I bilanciatori del carico saranno inoltre collegati tra loro tramite un cavo incrociato. Tutti i server nel cluster sono collegati ad entrambi gli switch. Tutto quello che i bilanciatori di carico devono fare è puntare il traffico su di essi.
Dato che è solo HTTP, posso usare una soluzione di bilanciamento del carico di livello 7 come HAProxy o nginx. Ma potrei anche usare il progetto LVS con ldirectord o keepalived o altro.
Ho provato a scomporre i pro e i contro come li vedo, ma finisce in un attimo. Cosa consiglieresti e perché? Mi sto perdendo qualcosa?