Questo capitolo fornisce una panoramica dei componenti 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.
I cinque componenti di Load Balancer sono: Dispatcher, Content Based Routing (CBR), Site Selector, Cisco CSS Controller e Controller Nortel Alteon. Load Balancer è un prodotto flessibile che consente di utilizzare i componenti separatamente o insieme a seconda della configurazione del sito. Questa sezione descrive brevemente ciascuno di questi componenti.
Il componente Dispatcher bilancia il traffico tra i server tramite un'efficace combinazione di bilanciamento del carico e software di gestione. Inoltre, Dispatcher è in grado di rilevare un server che non funziona e di deviare il traffico a lui indirizzato. Dispatcher supporta i protocolli HTTP, FTP, SSL, SMTP, NNTP, IMAP, POP3, Telnet, SIP e ogni altra applicazione basata sul protocollo TCP o UDP senza informazioni di stato.
Tutte le richieste client inviate alla macchina Dispatcher sono indirizzate al server considerato più adatto in base ai pesi che vengono impostati dinamicamente. È possibile utilizzare i valori predefiniti per questi pesi o attribuire loro dei valori diversi durante il processo di configurazione.
Dispatcher offre tre metodi di inoltro (specificati sulla porta):
Il componente Dispatcher è il fattore chiave che consente di gestire in modo stabile ed efficiente una rete ampia e scalabile di server. Dispatcher consente di collegare molti server singoli in modo da farli sembrare un solo server virtuale. Quindi il sito sembrerà avere un unico indirizzo IP. Dispatcher funziona indipendentemente da un DNS (Domain Name Server); tutte le richieste vengono inviate all'indirizzo IP della macchina Dispatcher.
Dispatcher offre considerevoli vantaggi nel bilanciamento del carico di traffico sui server organizzati in cluster consentendo di gestire i siti in modo stabile ed efficace.
La Figura 1 mostra una rappresentazione fisica del sito che utilizza una configurazione di rete Ethernet. È possibile installare la macchina Dispatcher senza dover apportare modifiche fisiche alla rete. Dopo che Dispatcher ha indirizzato la richiesta client al server più adatto, se si utilizza il metodo di inoltro MAC, la risposta viene inviata direttamente dal server al client senza coinvolgere Dispatcher .
La Figura 2 illustra un sito in cui tutti i server risiedono in una rete locale. Il componente Dispatcher viene utilizzato per inoltrare le richieste; Metric Server viene utilizzato per fornire alla macchina Dispatcher le informazioni relative al carico del sistema.
In questo esempio, il daemon di Metric Server viene installato su ciascun server di backend. È possibile utilizzare Metric Server con il componente Dispatcher o con un altro componente di Load Balancer.
Il supporto per rete geografica di Dispatcher consente di utilizzare sia i server locali che i server remoti (server situati su sottoreti diverse). La Figura 3 mostra una configurazione dove un Dispatcher locale (Dispatcher 1) funge da punto d'ingresso di tutte le richieste. Il Dispatcher locale distribuisce le richieste tra i server locali (ServerA, ServerB, ServerC) e sul Dispatcher remoto (Dispatcher 2), che a sua volta bilancerà il carico tra i server locali di sua competenza (ServerG, ServerH, ServerI).
Quando si usa il metodo di inoltro NAT di Dispatcher o il supporto GRE, è possibile realizzare il supporto per rete geografica anche senza utilizzare un Dispatcher sul sito remoto (dove si trovano ServerD, ServerE e ServerF). Consultare NAT/NAPT del Dispatcher (metodo di inoltro nat) e Supporto GRE (Generic Routing Encapsulation) per ulteriori informazioni.
CBR funziona con Caching Proxy per inviare le richieste ai server HTTP o HTTPS (SSL) specificati tramite proxy. Consente di gestire i dettagli di memorizzazione nella cache per recuperare più rapidamente i documenti Web con una larghezza di banda della rete inferiore. CBR con Caching Proxy esamina le richieste HTTP utilizzando tipi di regole specifici.
CBR consente di specificare un gruppo di server che gestisca una richiesta in base all'espressione regolare corrispondente al contenuto della richiesta. Poiché CBR consente di specificare più server per ciascun tipo di richiesta, il carico delle richieste può essere bilanciato per ottimizzare i tempi di risposta ai client. Inoltre, CBR rileva eventuali malfunzionamenti di un server del gruppo e interrompe l'instradamento delle richieste destinate a quel server. L'algoritmo di bilanciamento del carico utilizzato dal componente CBR è lo stesso dell'algoritmo utilizzato dal componente Dispatcher.
Quando Caching Proxy riceve una richiesta, questa viene confrontata con le regole che sono state definite nel componente CBR. Se viene rilevata una corrispondenza, uno dei server associati a quella regola viene scelto per gestire la richiesta. Quindi, Caching Proxy esegue la propria abituale elaborazione per inviare la richiesta al server prescelto tramite proxy.
CBR dispone delle stesse funzioni di Dispatcher, eccetto la funzione di disponibilità elevata, l'agente secondario SNMP, il supporto per rete geografica e alcuni altri comandi di configurazione.
Caching Proxy deve essere in esecuzione prima che il componente CBR possa iniziare a bilanciare il carico delle richieste client.
La Figura 4 mostra la rappresentazione logica di un sito in cui CBR viene utilizzato come proxy per gestire alcuni tipi di contenuti provenienti dai server locali. Il componente CBR utilizza Caching Proxy per inoltrare le richieste client (HTTP o HTTPS) ai server in base al contenuto dell'URL.
Site Selector agisce come un server dei nomi che funziona in associazione con altri server dei nomi in un DNS per eseguire il bilanciamento del carico tra un gruppo di server utilizzando le misure e i pesi raccolti. È possibile creare una configurazione del sito per consentire il bilanciamento del carico del traffico tra un gruppo di server basato sul nome dominio utilizzato per una richiesta del client.
Un client invia una richiesta di risoluzione di un nome dominio a un server dei nomi presente nella rete. Il server dei nomi inoltra la richiesta alla macchina Site Selector. Quindi, Site Selector risolve il nome dominio nell'indirizzo IP di uno dei server configurati per quel nome del sito. Site Selector restituisce l'indirizzo IP del server selezionato al server dei nomi. Il server dei nomi restituisce l'indirizzo IP al client.
Metric Server è un componente di monitoraggio del sistema di Load Balancer che deve essere installato su ciascun server della configurazione che si intende sottoporre a bilanciamento del carico. Insieme a Metric Server, Site Selector può monitorare il livello di attività su un server, rilevare un server che sta elaborando un carico inferiore rispetto agli altri e individuare un server in errore. Il carico misura il traffico sul server. La personalizzazione dei file di script delle metriche del sistema consente di controllare il tipo di misurazioni utilizzate per valutare il calcolo. È possibile configurare Site Selector in base all'ambiente, prendendo in considerazione fattori quali la frequenza degli accessi, il numero totale degli utenti e i tipi di accesso (ad esempio, query brevi e lunghe oppure carichi che richiedono molto spazio sulla CPU).
La Figura 5 illustra un sito in cui il componente Site Selector viene utilizzato per rispondere alle richieste. Server1, Server2 e Server3 sono server locali. Server4, Server5 e Server6 sono server remoti.
Un client invia una richiesta di risoluzione di un nome dominio a un server dei nomi client. Il server dei nomi client inoltra la richiesta tramite DNS alla macchina Site Selector (percorso 1). Quindi, Site Selector risolve il nome dominio nell'indirizzo IP di uno dei server. Site Selector restituisce l'indirizzo IP del server selezionato al server dei nomi client. Il server dei nomi restituisce l'indirizzo IP al client.
Dopo che il client ha ricevuto l'indirizzo IP del server, instrada le richieste dell'applicazione direttamente al server selezionato (percorso 2).
Cisco CSS Controller forma una soluzione complementare insieme agli switch della serie CSS 11000 di Cisco. La soluzione combinata unisce le funzioni di instradamento basato sul contenuto e di inoltro del potente pacchetto CSS serie 11000 con i sofisticati algoritmi di raccolta delle informazioni di Load Balancer per determinare i dati sul carico e la disponibilità del servizio (database o applicazione del server di backend). La funzione Cisco CSS Controller utilizza l'algoritmo di calcolo dei pesi, gli advisor standard e personalizzati di Load Balancer e Metric Server per determinare le metriche, lo stato e il carico del servizio. Queste informazioni vengono utilizzate da Cisco CSS Controller per generare i pesi del servizio che vengono poi inviati a Switch Cisco CSS per la selezione del servizio più adatto, per l'ottimizzazione del carico e per la tolleranza agli errori.
Cisco CSS Controller utilizza molti criteri, tra cui:
Quando Switch Cisco CSS, senza Cisco CSS Controller, determina lo stato di un servizio che fornisce contenuti, utilizza i tempi di risposta per le richieste di contenuto o altre misurazioni della rete. Al contrario, con Cisco CSS Controller, queste attività vengono trasferite da Switch Cisco CSS su Cisco CSS Controller. Cisco CSS Controller influenza il peso del servizio o la capacità di trasferire contenuti e attiva o sospende un servizio quando il servizio diventa di nuovo disponibile o non è più disponibile.
Cisco CSS Controller:
Cisco CSS Controller, insieme a Switch Cisco CSS, offre la migliore soluzione possibile che combina la funzione di scambio dei contenuti in base alla velocità di connessione con un sistema di raccolta delle informazioni sulle applicazioni più sofisticato, tolleranza agli errori e ottimizzazione del carico del servizio. Cisco CSS Controller fa parte di una soluzione complementare globale tra Switch Cisco CSS e IBM® WebSphere Application Server Load Balancer.
Controller Nortel Alteon insieme alla famiglia di switch Web di Nortel Alteon fornisce una soluzione complementare che combina le funzionalità e la velocità di inoltro del pacchetto degli switch con i sofisticati algoritmi per la raccolta delle informazioni di Load Balancer per determinare i pesi dei server.
Controller Nortel Alteon consente di sviluppare advisor personalizzati che siano in grado di eseguire valutazioni più intelligenti e consapevoli della disponibilità e del carico delle applicazioni utilizzate per distribuire i servizi.
Metric Server fornisce informazioni sul carico del sistema, quali le informazioni sull'utilizzo della CPU e della memoria e un framework per sviluppare le misurazioni di carico personalizzate del sistema.
Controller Nortel Alteon raccoglie molti tipi di informazioni metriche al fine di determinare i pesi per i server che verranno sottoposti al bilanciamento del carico da parte dei Switch Nortel Alteon Web, tra cui:
Controller Nortel Alteon utilizza SNMP per comunicare con lo switch. Le informazioni sulla configurazione, sullo stato e sulla connessione vengono richiamate dallo switch. Una volta che i pesi dei server sono stati calcolati dal controller, vengono impostati sullo switch. Lo switch utilizza i pesi impostati dal controller per selezionare il server più adatto a gestire le richieste client per un servizio.
È possibile gestire il controller tramite un'interfaccia browser, una GUI remota o una riga comandi remota.
Controller Nortel Alteon, insieme alla famiglia di switch Web di Nortel Alteon offre la migliore soluzione possibile che combina la funzione di scambio dei contenuti in base alla velocità di connessione con informazioni più sofisticate sulle applicazioni e un'ottimizzazione del carico dei server. Controller Nortel Alteon fa parte di una soluzione complementare tra la famiglia di switch Web di Nortel Alteon e IBM WebSphere.