Il componente Dispatcher offre funzioni di alta disponibilità integrate, evitando di diventare un singolo punto di errore della rete. Questa funzione implica una seconda macchina Dispatcher che controlla costantemente la macchina principale (o primaria) ed è sempre pronta per eseguire il takeover dell'attività di bilanciamento del carico in caso di un errore di quest'ultima.
Funzionando insieme agli host di contenuto, come WebSphere Application Server, il componente Dispatcher di Load Balancer consente di aumentare la disponibilità e la scalabilità della propria rete. Load Balancer è utilizzato da reti enterprise ed è installato tra Internet e i server di back-end enterprise.
Load Balancer funziona come punto di presenza dell'azienda su Internet, anche se l'azienda utilizza più server di back-end a causa di una domanda elevata o di un contenuto di dimensioni notevoli. La disponibilità viene ottenuta mediante il bilanciamento del carico di più host di contenuto e il supporto di failover.
È possibile rispondere a una domanda elevata duplicando il contenuto su più host, ma in tal caso diventa necessario bilanciare il carico tra di essi. DNS (Domain Name Service) può fornire un bilanciamento del carico round-robin di base, ma esistono diverse situazioni in cui questo non è adatto.
Una soluzione più complessa per il bilanciamento del carico di più host di contenuto consiste nell'utilizzare il componente Dispatcher come riportato di seguito.
Legenda: 1--Client
2--Internet 3--Router/Gateway 4--Dispatcher 5--Host di contenuto
In questa configurazione, tutti gli host di contenuto (le macchine contrassegnate con il 5) memorizzano lo stesso contenuto. Essi sono definiti in modo da formare un cluster a carico bilanciato e a una delle interfacce di rete della macchina di Load Balancer (4) viene assegnato un nome host e un indirizzo IP dedicato al cluster. Quando un utente finale che lavora su una delle macchine contrassegnate con 1 richiede il file X, la richiesta attraversa Internet (2) ed entra nella rete interna dell'azienda mediante il gateway Internet (3). Il Dispatcher intercetta la richiesta in quanto il suo URL è mappato al nome host e all'indirizzo IP. Esso determina quale degli host di contenuto nel cluster è più adatto a rispondere alla richiesta e inoltra quindi la richiesta a tale host, che restituisce il file X direttamente al client (ovvero, il file X non passa attraverso il Load Balancer).
Per impostazione predefinita, il Dispatcher utilizza il bilanciamento del carico round-robin pesato e risolve molte delle insufficienze di DNS. A differenza di DNS, esso tiene traccia se un host di contenuto diventa non disponibile o non accessibile e non continua a indirizzare i client a un host di contenuto non disponibile. Inoltre, considera il carico corrente sugli host di contenuto tenendo traccia di connessioni nuove, attive e terminate. È inoltre possibile ottimizzare il bilanciamento del carico attivando il gestore e l'advisor facoltativi di Load Balancer, che tengono traccia dello stato di un host di contenuto in maniera più precisa e integrano le informazioni aggiuntive al processo decisionale di bilanciamento del carico. Il gestore consente di assegnare pesi differenti ai diversi fattori utilizzati nel processo decisionale, personalizzando in questo modo il bilanciamento del carico per il proprio sito.
Load Balancer funziona come punto di presenza per gli host di contenuto della propria azienda. Ciò risulta utile in quanto si comunica il nome host e l'indirizzo del cluster in DNS invece che il nome host e l'indirizzo di ogni host di contenuto, il che fornisce un maggiore livello di protezione rispetto ad attacchi casuali e fornisce un aspetto unificato per il sito Web dell'azienda. Per migliorare la disponibilità del sito Web, configurare un altro Load Balancer in modo che funzioni come backup per il Load Balancer primario, come descritto di seguito. Se un Load Balancer riporta un errore o diventa inaccessibile a causa di un errore di rete, gli utenti finali potranno comunque raggiungere gli host di contenuto.
Legenda: 1--Client 2--Internet
3--Router/Gateway 4--Dispatcher primario 5--Dispatcher di backup 6--Host di contenuto
In casi normali, un browser in esecuzione su una delle macchine 1 indirizza la propria richiesta per un file X al nome host del cluster mappato al Load Balancer primario (4). Il Dispatcher instrada la richiesta all'host di contenuto (6) selezionato in base ai criteri di bilanciamento del carico del Dispatcher. L'host di contenuto invia il file X direttamente al browser, instradandolo mediante il gateway aziendale (3) su Internet (2) ma senza passare per il Load Balancer. Il Dispatcher di backup (5) non esegue il bilanciamento del carico fino a che quello primario è operativo. I Dispatcher primario e di backup tengono traccia l'uno l'altro del proprio stato scambiando periodicamente messaggi detti heartbeat. Se il Dispatcher di backup rileva che il Dispatcher primario ha riportato un errore, assume automaticamente la responsabilità del bilanciamento del carico intercettando le richieste dirette al nome host e all'indirizzo IP del cluster del Dispatcher primario.