Bilanciamento del carico
Il bilanciamento del carico consiste nel distribuire un carico di lavoro tra più computer. In genere viene usato per distribuire uniformemente il traffico di rete tra un gruppo di server web, ma può anche suddividere altre attività di elaborazione, come le query del database e il data mining. Impedisce che un singolo server venga sovraccaricato mentre gli altri server del cluster rimangono inattivi. Eliminando i colli di bottiglia, un corretto bilanciamento del carico contribuisce a migliorare le prestazioni dei server che ospitano siti web e applicazioni web.
Se un singolo server web riceve improvvisamente un numero di richieste al secondo cinque o dieci volte superiore al solito, potrebbe avere difficoltà a gestire questa richiesta. Potrebbe fornire i contenuti più lentamente del solito o persino bloccarsi sotto il carico. Distribuire queste richieste tra più server aiuta a mantenere siti web e applicazioni web disponibili e reattivi. Il bilanciamento del carico funziona anche tra più posizioni: se la connessione a Internet di un server è satura, le richieste possono essere inviate a un altro data center per usare la larghezza di banda in modo più efficace.
Che il bilanciamento del carico avvenga su una rete locale o in un grande data center, richiede hardware o software dedicati per dividere il traffico in entrata tra i server. Questi dispositivi hardware e programmi software sono chiamati bilanciatori del carico. Quando riceve traffico in entrata, un bilanciatore del carico distribuisce le richieste usando un algoritmo di bilanciamento del carico. Gli algoritmi statici distribuiscono le attività secondo uno schema prestabilito, come una sequenza round-robin, oppure in ordine casuale. Gli algoritmi dinamici considerano invece il carico attuale di ogni server per indirizzare le attività verso i server meno occupati. Il bilanciamento dinamico tra più punti di una CDN distribuita può anche considerare la posizione geografica, indirizzando le richieste al server più vicino al client e riducendo la latenza diminuendo la distanza che i pacchetti di dati devono percorrere.
Metti alla prova le tue conoscenze