Panoramica dei componenti di Load Balancer

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.

Componenti di Load Balancer

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.

Panomarica del componente Dispatcher

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.

Gestione dei server locali con Dispatcher

Figura 1. Esempio di rappresentazione fisica di un sito dove i server locali sono gestiti da Dispatcher
Rappresentazione fisica del sito dove i server locali sono gestiti da Dispatcher

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 .

Gestione dei server con Dispatcher e Metric Server

Figura 2. Esempio di un sito dove i server sono gestiti da Dispatcher e Metric Server
Sito dove i server sono gestiti da Dispatcher e Metric Server

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.

Gestione di server locali e remoti con Dispatcher

Figura 3. Esempio di un sito dove i server locali e remoti sono gestiti da Dispatcher
Sito dove i server locali e remoti sono gestiti da Dispatcher

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.

Panoramica del componente CBR (Content Based Routing)

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.

Nota:
Il contenuto CBR (Content Based Routing) non è disponibile sulle piattaforme che eseguono una JVM a 64 bit, ad eccezione di HP-UX ia64. Su HP-UX ia64, il componente CBR viene eseguito come applicazione 32 bit. È possibile utilizzare il metodo di inoltro CBR del componente Dispatcher di Load Balancer per fornire l'instradamento basato sul contenuto senza l'utilizzo di Caching Proxy. Per ulteriori informazioni, consultare Instradamento basato sul contenuto di Dispatcher (metodo di inoltro cbr).

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.

Gestione di server locali con CBR

Figura 4. Esempio di un sito dove i server locali sono gestiti da CBR
Sito con CBR che gestisce server locali

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.

Panoramica del componente Site Selector

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).

Gestione dei server locali e remoti con Site Selector e Metric Server

Figura 5. Esempio di un sito dove i server locali e remoti sono gestiti da Site Selector e Metric Server
Sito dove i server sono gestiti da Site Selector e Metric Server

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).

Nota:
in questo esempio, Metric Server fornisce informazioni sul carico del sistema alla macchina Site Selector. L'agent Metric Server viene installato su ciascun server di backend. Utilizzare Metric Server insieme a Site Selector; in caso contrario, per il bilanciamento del carico Site Selector può utilizzare solo un metodo di selezione del tipo round-robin.

Panoramica del componente Cisco CSS Controller

Nota:
Il componente Cisco CSS Controller viene fornito con Load Balancer per IPv4, ma questo componente potrebbe non supportare l'hardware più recente. Consultare la pagina dei prerequisiti per l'hardware supportato all'indirizzo: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921

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:

I pesi vengono applicati a tutti i servizi su una porta. Per ogni particolare porta, le richieste vengono distribuite tra i servizi in base ai loro pesi rispettivi. Ad esempio, se un servizio è impostato su un peso pari a 10 e l'altro su un peso pari a 5, il servizio impostato a 10 riceverà il doppio delle richieste del service impostato a 5. Questi pesi vengono forniti a Switch Cisco CSS tramite SNMP. Quando il peso di un servizio è impostato su un valore superiore, Switch Cisco CSS indirizza più richieste a quel servizio.
Figura 6. Esempio di un sito dove i server locali sono gestiti da Cisco CSS Controller e Metric Server
Sito con Cisco CSS Controller e Metric Server che gestiscono servizi

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.

Panoramica del componente Controller Nortel Alteon

Nota:
Il componente Controller Nortel Alteon viene fornito con Load Balancer per IPv4, ma questo componente potrebbe non supportare l'hardware più recente. Consultare la pagina dei prerequisiti per l'hardware supportato all'indirizzo: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921

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.

Figura 7. Esempio di un sito dove i server locali sono gestiti da Controller Nortel Alteon
Sito con Controller Nortel Alteon che gestisce i server

È 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.