Le funzioni principali di Load Balancer interagiscono tra loro e con la configurazione del proprio server per bilanciare il traffico di rete nell'ambiente.
Il Dispatcher è costituito dalle seguenti funzioni:
- dsserver gestisce le richieste provenienti dalla riga
comandi all'executor, al gestore e agli advisor.
- L'executor supporta il bilanciamento del carico delle connessioni TCP basato sulle porte. È in grado di inoltrare connessioni ai server in base al tipo
di richiesta ricevuta (ad esempio, HTTP, FTP, SSL, ecc.). L'executor viene sempre eseguito quando per il bilanciamento del carico viene utilizzato il componente Dispatcher.
- Il gestore imposta i pesi utilizzati dall'executor in base a:
- Contatori interni nell'executor
- Informazioni restituite dai server fornite dagli advisor
- Feedback da un programma di monitoraggio del sistema, come ad esempioMetric Server o WLM. L'uso del gestore è facoltativo. Tuttavia, se il gestore non viene utilizzato, il
bilanciamento del carico verrà eseguito utilizzando la pianificazione con il metodo
round-robin basata sui pesi dei server correnti, mentre gli advisor non saranno
disponibili.
- Gli advisor interrogano i server e
analizzano i risultati per protocollo prima di interpellare il
gestore affinché imposti i pesi in modo appropriato. Al momento, sono disponibili degli advisor per i seguenti protocolli:
HTTP, FTP, SSL, SMTP, NNTP, IMAP, POP3, SIP e Telnet. Il Dispatcher fornisce inoltre
degli advisor che non scambiano informazioni specifiche sul protocollo, come l'advisor
DB2 che riporta lo stato dei server DB2 e l'advisor ping che comunica se il server
risponde o meno a un ping. Per un elenco completo degli advisor, vedere Elenco di advisor.
È possibile anche scrivere advisor personalizzati (vedere Creazione di un advisor personalizzato). L'uso degli
advisor è facoltativo ma consigliato.
- Per configurare e gestire l'executor, gli advisor e il gestore, utilizzare la riga
comandi (dscontrol) o l'interfaccia utente grafica (lbadmin).
Le tre funzioni chiave del Dispatcher (executor,
gestore e advisor) interagiscono per bilanciare e distribuire le richieste
in entrata tra i server.
Insieme al bilanciamento del carico delle richieste, l'executor
controlla il numero delle nuove connessioni, delle connessioni attive e delle connessioni
terminate. L'executor esegue inoltre la raccolta di dati inutili di connessioni
completate o ripristinate e comunica tali informazioni al gestore.
Il gestore raccoglie le informazioni provenienti dall'executor, dagli advisor e da un
programma di monitoraggio del sistema, quale Metric Server. In base alle
informazioni ricevute, il gestore regola il peso delle macchine server su ciascuna porta
e comunica all'executor i nuovi pesi da utilizzare nel bilanciamento delle nuove
connessioni.
Gli advisor controllano ciascun server sulla porta assegnata, per determinare il tempo
di risposta del server e la disponibilità, quindi, comunicano queste informazioni al
gestore. Anche gli advisor controllano se un server è attivo o meno. Senza il gestore e gli advisor, l'executor esegue una pianificazione con il metodo
round-robin basata sui pesi attuali dei server.