Il bilanciamento del carico ottimale può essere molto costoso e complicato. Il bilanciamento del carico di base dovrebbe garantire che ogni server esegua lo stesso numero di accessi in qualsiasi momento.
Il metodo di bilanciamento del carico più semplice consiste nel fornire più record A nel DNS. Per impostazione predefinita, l'indirizzo IP verrà configurato con un metodo round robin. Ciò comporterà una distribuzione relativamente uniforme degli utenti tra i server. Questo funziona bene per i siti senza stato. Un metodo un po 'più complesso è richiesto quando si dispone di un sito con stato.
Per gestire i requisiti con stato, è possibile utilizzare i reindirizzamenti. Assegna a ciascun server Web un indirizzo alternativo come www1, www2, www3, ecc. Reindirizza la connessione www iniziale all'indirizzo alternativo dell'host. È possibile che si verifichino problemi con i segnalibri in questo modo, ma dovrebbero essere distribuiti uniformemente sui server.
In alternativa, l'utilizzo di un percorso diverso per indicare quale server sta gestendo la sessione stateful consentirebbe sessioni proxy che hanno cambiato host al server originale. Questo potrebbe essere un problema quando la sessione per un server guasto arriva al server che ha preso il posto del server guasto. Tuttavia, escludendo il software di clustering lo stato mancherà comunque. A causa della memorizzazione nella cache del browser, è possibile che non si verifichino molte sessioni che cambiano server.
Il failover può essere gestito configurando il server per assumere l'indirizzo IP di un server guasto. Ciò ridurrà al minimo i tempi di inattività se un server si guasta. Senza il software di clustering, le sessioni stateful andranno perse se un server si guasta.
Senza failover, gli utenti subiranno un ritardo fino a quando il browser non passa al successivo indirizzo IP.
L'uso dei servizi Restful anziché delle sessioni stateful dovrebbe eliminare i problemi di clustering sul front-end. I problemi di clustering sul lato di archiviazione continuerebbero ad applicarsi.
Anche con i sistemi di bilanciamento del carico davanti ai server, probabilmente avrai DNS round robin davanti a loro. Ciò garantirà l'utilizzo di tutti i servizi di bilanciamento del carico. Aggiungeranno un altro livello al tuo design, con ulteriore complessità e un altro punto di errore. Tuttavia, possono fornire alcune funzionalità di sicurezza.
La soluzione migliore dipenderà dai requisiti pertinenti.
L'implementazione di server di immagini per offrire contenuti come immagini, file CSS e altri contenuti statici può facilitare il carico sui server delle applicazioni.