Il bilanciamento del carico è il processo mediante il quale il traffico IP (Internet Protocol) in entrata può essere distribuito su più server. Ciò migliora le prestazioni dei server, porta al loro utilizzo ottimale e garantisce che nessun singolo server venga sopraffatto. La pratica è particolarmente importante per le reti occupate, dove è difficile prevedere il numero di richieste che verranno inviate a un server.
In genere, in uno schema di bilanciamento del carico vengono impiegati due o più server Web. Nel caso in cui uno dei server inizi a sovraccaricarsi, le richieste vengono inoltrate a un altro server. Questo processo riduce il tempo di servizio consentendo a più server di gestire le richieste. Il tempo di servizio viene ridotto utilizzando un servizio di bilanciamento del carico per identificare quale server ha la disponibilità appropriata per ricevere il traffico.
Il processo, molto in generale, è semplice. Una richiesta di pagina Web viene inviata al sistema di bilanciamento del carico, che inoltra la richiesta a uno dei server. Quel server risponde al bilanciatore, che a sua volta invia la richiesta all’utente finale.
Il bilanciamento del carico consente al servizio di continuare anche a fronte di tempi di inattività del server dovuti a guasti o manutenzione del server. Se un’azienda utilizza più server e uno di questi si guasta, il suo sito Web o altri servizi saranno ancora disponibili per i suoi utenti, poiché il traffico verrà deviato sugli altri server della server farm. In Global Server Load Balancing (GSLB) il carico viene distribuito a server farm geograficamente sparse, a seconda del loro carico, integrità o vicinanza.
Esistono diversi metodi con cui è possibile bilanciare i carichi. Se i server sono simili nelle specifiche hardware, i metodi Perceptive (che prevede il server in base a dati storici e attuali) e Fastest Response Time possono essere i migliori da utilizzare. Se invece le specifiche hardware sono diverse, il metodo Weighted Round Robin, che assegna a turno le richieste ai server in base ai loro pesi, può essere una soluzione migliore perché può assegnare più richieste al server in grado di gestire un volume maggiore.