Questo capitolo fornisce una panoramica di Load Balancer e comprende le seguenti sezioni:
Per un elenco dettagliato delle opzioni di configurazione fornite da ciascun componente di Load Balancer e decidere quali di esse devono essere utilizzate per la gestione della rete, vedere Gestione della rete: determinazione delle funzioni di Load Balancer da utilizzare.
Load Balancer è una soluzione software che consente di distribuire le richieste entranti dei client tra diversi server. Quindi migliora le prestazioni dei server indirizzando le richieste delle sessioni TCP/IP a server diversi nell'ambito di un gruppo; in tal modo le richieste vengono bilanciate tra tutti i server. Questo bilanciamento del carico è trasparente agli utenti e alle altre applicazioni. Load Balancer è utile per applicazioni come i server di posta elettronica, i server World Wide Web, le query distribuite su database paralleli e altre applicazioni TCP/IP.
Quando viene utilizzato con i server Web, Load Balancer consente di ottimizzare le prestazioni di un sito dal momento che fornisce una soluzione potente, flessibile e scalabile per far fronte ai picchi di domanda. Se un sito Web non è in grado di gestire tutti i visitatori nei momenti di picco di domanda, utilizzare Load Balancer per individuare automaticamente il server migliore in grado di gestire le richieste entranti, migliorando la soddisfazione dei clienti e i profitti dell'azienda.
Load Balancer è composto dai seguenti cinque componenti che possono essere usati separatamente o insieme per ottenere un bilanciamento del carico ottimale.
Per il protocollo HTTP, è possibile utilizzare la funzione Instradamento basato sul contenuto di Dispatcher per bilanciare il carico in base al contenuto delle richieste dei client. Il server verrà scelto associando l'URL a una regola specifica. L'instradamento basato sul contenuto di Dispatcher (metodo di inoltro cbr) non richiede Caching Proxy.
Per ulteriori informazioni sui componenti Dispatcher, CBR, Site Selector, Cisco CSS Controller, e Controller Nortel Alteon, vedere Componenti di Load Balancer.
Il numero di utenti e di reti che utilizzano Internet sta crescendo in misura esponenziale. Questa crescita causa problemi di scala che possono limitare l'accesso degli utenti ai siti più popolari.
Attualmente, gli amministratori dei siti utilizzano diversi metodi per ottimizzare gli accessi. Alcuni di questi metodi consentono agli utenti di scegliere un server diverso a caso, se la scelta precedente non ha consentito l'accesso o in caso di operazioni eccessivamente lente. Questo approccio è scomodo, noioso e inefficace. Un altro metodo è il round-robin standard, che prevedere che sia il server dei nomi di dominio (DNS) a scegliere di volta in volta i server che devono gestire le richieste. Questo approccio è migliore, ma ancora inefficace, poiché inoltra il traffico alla cieca, senza prendere in considerazione in alcun modo il carico di lavoro dei server. Inoltre, se un server subisce un guasto, il DNS continuerà a inviargli richieste.
La necessità di sviluppare una soluzione più potente ha prodotto Load Balancer. Questo prodotto offre numerosi benefici rispetto alle soluzioni precedenti e alla concorrenza.
Man mano che le richieste dei client aumentano, è possibile aggiungere dinamicamente altri server, consentendo quindi di supportare decine di milioni di richieste al giorno attraverso decine o centinaia di server.
Il bilanciamento del carico consente di ottimizzare l'uso dell'hardware di ciascun gruppo di server, riducendo al minimo le aree sensibili (hot-spot) che si vengono a creare frequentemente con il metodo round-robin standard.
Load Balancer utilizza i protocolli standard TCP/IP o UDP/IP. È possibile aggiungerlo alla rete esistente senza doverla modificare in alcun modo. È semplice da installare e configurare.
Utilizzando il metodo di inoltro del livello MAC, il componente Dispatcher controlla soltanto il traffico entrante dai client verso i server. Esso non gestisce il traffico uscente dai server verso i client. Ciò riduce significativamente il suo impatto sull'applicazione, confrontato con gli altri approcci, e migliora le prestazioni della rete.
I componenti Dispatcher, Cisco CSS Controller e Controller Nortel Alteon offrono una disponibilità elevata grazie all'uso di una macchina di backup sempre pronta a entrare in funzione per gestire il bilanciamento del carico in caso di guasto al server principale. In caso di guasto a uno dei server, le richieste continueranno a essere soddisfatte dall'altro server. Ciò elimina la possibilità che qualsiasi server diventi un "single point of failure" e rende il sito altamente disponibile.
Per ulteriori informazioni, consultare Disponibilità elevata di Load Balancer
Insieme al Caching Proxy, il componente CBR può funzionare da proxy per le richieste HTTP e HTTPS (SSL) indirizzati a server specifici in base al contenuto richiesto. Ad esempio, se una richiesta contiene la stringa "/cgi-bin/" nella sezione directory dell'URL, e il nome del server indica un server locale, il componente CBR può indirizzare la richiesta al server migliore di un gruppo di server dedicati specificatamente alla gestione di richieste cgi.
Il componente Dispatcher fornisce inoltre un instradamento basato sul contenuto, ma non richiede che sia installato il Caching Proxy. Poiché l'instradamento basato sul contenuto fornito dal componente Dispatcher viene eseguito nel kernel man mano che i pacchetti vengono ricevuti, questa funzione risulta più veloce rispetto a quella fornita dal componente CBR. Il componente Dispatcher esegue l'instradamento basato sul contenuto per HTTP (utilizzando la regola di tipo "contenuto") e per HTTPS (utilizzando l'affinità ID di sessione SSL).
Il componente Dispatcher offre opzioni incorporate di disponibilità elevata, evitando di diventare un singolo punto di errore della rete. Ciò viene realizzato grazie all'uso di una seconda macchina Dispatcher che controlla costantemente la macchina principale ed è sempre pronta a entrare in funzione in caso di guasto a quest'ultima. La disponibilità offerta dal componente Dispatcher è ancora più elevata se si considera che le due macchine possono fungere contemporaneamente da principale e da secondaria (backup). Consultare Configurazione della disponibilità elevata.
Utilizzando la configurazione a due livelli con una macchina Dispatcher che bilancia il carico del traffico tra più server equipaggiati con CBR, è possibile ottenere un livello di disponibilità elevata per questi componenti.
I controller sono caratterizzati da disponibilità elevata dal momento che è stata eliminata la possibilità di diventare un "single point of failure". Un controller su una macchina può essere configurato come principale e un altro, su una macchina diversa, può essere configurato come secondario o di backup. Il controller di backup controlla costantemente il controller principale e si tiene sempre pronto a fornire agli switch i pesi dei server, in caso di guasto alla macchina principale. Consultare Disponibilità elevata per ulteriori informazioni.