Come suggerisce il nome, il bilanciamento del carico si riferisce alla distribuzione efficiente del traffico del server su un gruppo di server connessi, noto anche come server farm o pool di server.
Ci sono molte richieste parallele che arrivano da utenti e client, e il sito web deve essere in grado di elaborarne migliaia, se non milioni, contemporaneamente e restituire il testo, le immagini, i video o i dati applicativi corretti, il tutto in modo rapido e affidabile. In genere, per scalare e soddisfare questi elevati volumi in modo economicamente conveniente, le migliori pratiche dell'informatica moderna richiedono l'aggiunta di più server.
In qualità di "vigili del traffico", i bilanciatori di carico si posizionano di fronte ai server, indirizzando le richieste dei client tra tutti i server in grado di soddisfarle. Il bilanciatore di carico garantisce che nessun server sia sovraccarico, il che potrebbe comportare un calo delle prestazioni. Garantisce che la velocità e l'utilizzo della capacità di tutti i server siano massimizzati e che nessun server sia sovraccarico. Il bilanciatore di carico garantisce che il traffico venga instradato verso i server rimanenti in caso di inattività di uno dei server. Il bilanciatore di carico inizia automaticamente a inviare richieste al nuovo server quando viene aggiunto al gruppo di server, aggiungendolo all'elenco dei server.
Come funzionano i bilanciatori di carico?
Per evitare che il traffico venga indirizzato verso server incapaci di soddisfare le richieste, i bilanciatori di carico utilizzano algoritmi sofisticati per rilevare lo stato di salute dei server back-end. Lo scopo di un bilanciatore di carico è gestire il traffico diretto a diversi server web all'interno di un pool di risorse, indipendentemente dal fatto che si tratti di un bilanciatore di carico hardware o software o dall'algoritmo utilizzato, per garantire che nessun singolo server venga sovraccaricato e, quindi, reso inaffidabile a causa del carico di lavoro eccessivo. Di conseguenza, il tempo di risposta del server sarà ridotto al minimo e la produttività massimizzata.
Spesso il bilanciamento del carico viene paragonato al ruolo di un vigile urbano, poiché è responsabile dell'instradamento sistematico delle richieste verso le posizioni più appropriate in un dato momento, evitando così costosi colli di bottiglia e incidenti preventivi.
Quali sono alcune delle soluzioni standard di bilanciamento del carico?
Un bilanciatore di carico, o l'ADC che lo include, seguirà una serie di algoritmi per determinare come le richieste verranno distribuite nella server farm. Anche in questo caso, le opzioni sono molteplici, da quelle più semplici a quelle più complesse.
Bilanciamento del carico round robin
Si tratta di una semplice soluzione di bilanciamento del carico che indirizza i client a un server diverso in base a un elenco di rotazione quando un client accede al server virtuale. Tuttavia, nonostante la sua facilità di implementazione, i bilanciatori del carico non riescono a tenere conto del carico esistente su un server. Di conseguenza, il server potrebbe sovraccaricarsi di richieste ad alta intensità di elaborazione se riceve molte richieste.
Metodo del tempo di risposta minimo
Il metodo con tempo di risposta minimo è più sofisticato per il monitoraggio dei dati sanitari, perché si basa sul tempo di risposta del server a una richiesta di monitoraggio dello stato. L'esperienza utente complessiva prevista dipende dalla velocità di risposta del server. Alcuni bilanciatori di carico potrebbero anche considerare il numero di connessioni attive su ciascun server.
Metodo di connessione minimo
Il metodo di connessione minima considera il carico corrente sul server, mentre il round-robin no (solo la sua posizione nella rotazione), con il risultato di prestazioni notevolmente superiori. Inoltre, le richieste verranno inviate al server con il minor numero di connessioni attive quando si utilizza il metodo di connessione minima.
Altri articoli di questo tipo sono disponibili su Seahawk Media.