Opzioni di bilanciamento del carico [chiuso]


25

Sto esaminando una serie di possibili opzioni per il bilanciamento del carico.

Finora, sono vincolato alle seguenti opzioni:

  • Bilanciamento del carico del server DNS, bilanciamento con un cluster di server Tomcat, con terracotta per la replica della sessione. Pro: non è necessario acquistare un nuovo kit. Contro: DNS lb può continuare a dirigere verso un server guasto.

  • Bilanciamento del carico hardware, diretto al cluster di server Tomcat. Pro - potrebbe avere una seconda casella per il failover lb. Contro - spese.

  • Bilanciamento del carico del server Apache. Pro: sondaggi lb di apache per server non funzionanti. Contro: il server apache rappresenta un singolo punto di errore, inoltre è necessario acquistare un altro server.

Ci sono altre opzioni che dovrei considerare?

Grazie.

Aggiornamento: grazie per tutte le risposte finora + 1 a tutto tondo. Non accettare ancora una risposta, per far arrivare più idee.


Quale piattaforma OS?
spoulson,

Per i bilanciatori di carico S / W, sarà Linux
toolkit,

Il bilanciamento del carico di rete integrato di Windows non è male nemmeno per il bilanciamento del carico a basso costo. Ma personalmente direi che per te vale la pena, compra un F5.
Sclarson,

Se non fai la terracotta, che tipo di affinità di sessione ti serve? Basato su cookie, basato su intestazione, IP?
sh-beta,

@ sh-beta - Immagino che dipenda dall'implementazione?
toolkit,

Risposte:


7

non vorrei optare per lb basato su dns - esattamente per il motivo che elenchi.

nginx o varnish può essere la tua altra opzione lb / fail-over che si trova di fronte a appservs e funge da proxy inverso. richiedono più cura della scatola hardware ma ti faranno risparmiare un sacco di soldi. assicurati di mettere anche quei bilanciatori in qualche cluster [attivo-passivo con battito cardiaco farà il trucco].


11

Se stai esaminando dispositivi di bilanciamento del carico, non puoi davvero sbagliare F5 Big-IP

modifica: la ragione per cui dico semplicemente di utilizzare Big-IP è perché è una bella appliance per amministratori di server che non hanno molta esperienza con le appliance di rete. Ha una bella interfaccia web con opzioni quasi illimitate per la configurazione e il reporting. Sono le opzioni di bilanciamento del carico "enterprise" più affidabili e meno costose.

Ecco un link a uno studio sulle opzioni di consegna delle applicazioni nel 2007: Risultati Gartner


1
Mi piacciono gli F5 Big-IP. È anche fantastico gestire l'accelerazione SSL in modo che i server Web possano gestire semplicemente HTTP.
Chris W. Rea,

Concordo anche se se stai eseguendo un'operazione di grandi dimensioni è meglio stare lontano dagli ultimi aggiornamenti che trovo.
mryan1,

Eseguiamo una grande organizzazione su di essi, non sono davvero sicuro di cosa abbiano a che fare gli ultimi aggiornamenti con F5.
Sclarson,

+1 per i Big-IP. Funzionano semplicemente. Quando metti qualcosa tra i tuoi utenti e i tuoi server, deve essere a prova di proiettile.
Brent Ozar,

6

Suggerisco di usare HAProxy . È estremamente veloce. E puoi anche eludere Single Point of Failure usando due load balancer con CARP (* BSD) o UCARP / LVS (Linux)


4

Usiamo Coyote Point Equalizer (bilanciamento del carico hardware) da anni e ne siamo rimasti molto soddisfatti. Potrebbero non avere tutte le funzionalità di un F5, ma hanno ancora molte funzionalità e costano molto meno. Prestazioni e affidabilità sono state entrambe eccellenti.


+1 per quello. Anche qui abbiamo un paio di coyote, sono in funzione da diversi anni e stanno ancora canticchiando.
Seth

3

Tendo a optare per gli LB hardware in quanto spesso riescono a gestire un sacco di traffico, sono spesso "più semplici", quindi più capaci di essere rafforzati meglio / più facilmente e talvolta possono anche gestire altri problemi di sicurezza come gli attacchi SYN-flood in hardware. Io uso Foundry ma c'è molta scelta (F5, Cisco ecc.) - però speso :(


1

Cisco GSS (Global Site Selector) è un server DNS che esegue anche controlli di integrità. Questa sarà ovviamente un'opzione più costosa di un server DNS standard. Pagina Web con maggiori dettagli qui: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Come menzionato Chopper3, il bilanciamento del carico basato sull'hardware probabilmente offrirà maggiori prestazioni, ma lo pagherai.

Le caratteristiche che puoi cercare sono: offloading SSL, supporto vlan, contesti, clustering, supporto per protocolli di routing e supporto / interazione con diverse applicazioni (es. Cookie html e modifica dell'intestazione).


1

Hai visto ldirectord ?

Funziona su Linux, può funzionare con il battito cardiaco sulle stesse macchine su cui si basa il bilanciamento del carico (e quindi ha un po 'di ridondanza incorporata) - o, naturalmente, sulla propria scatola di fronte a loro, è facile da configurare, leggero e molto capace .


1

Ho scoperto che l' incrocio era un eccellente bilanciamento del carico. Ha gestito il nostro carico di produzione per ben sette mesi mentre i ragazzi della rete hanno risolto un problema hardware con un bilanciamento del carico Cisco.


0

Ho scritto un bilanciamento del carico basato su software che non richiede una macchina separata.

Il lato negativo è che non è davvero pronto per la produzione, ma se si desidera testarlo sulla propria rete di test, sarei contento.

Fluffy cluster è qui

È sostanzialmente superficialmente simile al NLB di Microsoft (penso), anche se non ho la loro fonte e non so esattamente come funzioni.

Ovviamente non monitoriamo automaticamente il livello dell'applicazione, ma puoi scrivere qualcosa che lo fa e cambia peso o prende i nodi di conseguenza.

EDIT: Non hai detto quale sistema operativo, Fluffy cluster è solo Linux al momento.


Sembra fico. Mi piacerebbe usare ClusterIP ma non è pronto per la produzione e ci sono troppi gotcha. Hai in programma di rendere pronto il cluster Fluffy per la produzione?
diq

Se c'è interesse, lo farò. È richiesto relativamente poco lavoro per una versione a capacità limitata.
MarkR,

0

keepalived è un altro sistema di bilanciamento del carico di Linux, che supporta diversi algoritmi di bilanciamento del carico (ovviamente) e VRRP per creare istanze ridondanti con failover automatico quando un box di bilanciamento del carico non funziona


0

Se il denaro non è un problema, ottenere un bilanciamento del carico hardware.

La società per cui lavoro usa Apache per gestire i nostri server Tomcat e il bilanciamento del carico è sulla stessa scatola di alcuni dei tomcat (i tomcat usano le porte interne). Passeremo presto a un box dedicato al bilanciamento del carico. Tra poco ci trasferiremo su Nginx, trovo la configurazione più semplice e il tutto molto più leggero di Apache. A seconda dell'architettura di rete, ti consiglio anche di utilizzare un "IP mobile" interno per il bilanciamento del carico ed eseguire qualcosa come il battito cardiaco per passare l'IP a un'altra casella, se necessario. Ciò aggiungerebbe capacità di failover senza preoccuparsi dei problemi di propagazione del DNS.


0

Ho creato una soluzione con DNSMadeEasy . Hanno un bel screencast per quanto riguarda il failover DNS. Hanno prezzi ragionevoli. Nel nostro sistema abbiamo implementato un servizio semplice che "esegue il ping" dei diversi componenti del nostro sistema (database, coda JMS, connessione S3) e restituisce OK che DNSMadeEasy può utilizzare. Ogni volta che si verifica un'eccezione, DNSMadeEasy rimuoverà quel server dall'elenco di server che risponde a quella ricerca DNS.


0

Hai visto perlbal?

www.danga.com/perlbal/


0

Ciao @toolkit hai mai implementato NGinX / Varnish nella tua missione LoadBalancer (LB)? in tal caso quali sono stati i tuoi risultati? (se non ti dispiace condividere con il resto di noi ;-)

Solo per riassumere quanto sopra (e aggiungere una menzione per ZMQ)

Bilanciamento del carico di base

Più avanzato

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.