Accessi più rapidi al server grazie ai load balancer

Molte persone usano internet per le ricerche e per fare shopping. Ciò comporta un sovraccarico costante e crescente del server web, responsabile di rendere disponibili i negozi online, i portali di informazione e le pagine aziendali. E parallelamente al traffico web crescono anche le esigenze degli utenti, perciò, soprattutto nel settore dei servizi, si presuppone che le relative applicazioni garantiscano una transazione veloce e sicura. La disponibilità di un sito è un fattore altrettanto decisivo che determina se un visitatore da semplice interessato diventerà un cliente.

Server sovraccarichi danneggiano le aziende, soprattutto se le sezioni principali del negozio si caricano lentamente o l’accesso ai contenuti è completamente bloccato. Per affrontare questa situazione, c’è la possibilità dispendiosa di acquistare un server dalle prestazioni più elevate o in alternativa è possibile distribuire in maniera efficiente il traffico dei dati su diversi server web. Così, non solo si individuano i picchi di maggiore afflusso nell’arco di una giornata, ma aumenta anche la stabilità del server. Questo processo si chiama load balancing (bilanciamento del carico): gli accessi al server sono possibili attraverso un elemento tecnico prestabilito, il cosiddetto load balancer, che distribuisce equamente le diverse risorse hardware per garantire una velocità di accesso costante ai contenuti.

Cos’è il load balancing?

Generalmente ogni dominio è collegato ad un solo server web. Se un utente vuole aprire una pagina, immettendo l’URL nella barra degli indirizzi del browser, vengono richiamati i dati dal server corrispondente. Se a causa di un sovraccarico non è possibile portare a termine la richiesta, l’utente riceve un messaggio di errore e la pagina non viene visualizzata. A questo punto arriva in soccorso il load balancing: attraverso un load balancer prestabilito è possibile assegnare un dominio a più server senza che vi sia un conflitto di indirizzi. Il load balancer reindirizzerà al dominio pubblico, mentre i server web subordinati verranno denominati con delle aggiunte di dominio www1, www2, www3, ecc. Così il load balancing mette a disposizione una pagina sempre allo stesso indirizzo, malgrado dietro si nascondano diversi server. Ciò impedisce un sovraccarico del server, dato che le richieste vengono ripartite tra i diversi computer fisici all’interno del cluster. Tuttavia, il visitatore non si accorge di niente poiché la distribuzione delle richieste avviene in base a complessi algoritmi nascosti. La scelta degli algoritmi è decisiva per stabilire come distribuire le richieste in entrata. Gli algoritmi standard più conosciuti per il load balancing sono: Round Robin, Weighted Round Robin, Least Connections e Weighted Least Connections.

Algoritmo

Descrizione

Round Robin

Round Robin indica un processo circolare in cui le richieste in entrata del server vengono gestite dal load balancer in una lista di attesa e vengono distribuite in ordine tra i server presenti nel cluster. Così ogni nuova richiesta viene assegnata al server successivo della serie e gli accessi vengono ripartiti equamente nel cluster load balancing. Utilizzando il procedimento Round Robin, tutti i processi vengono trattati alla stessa maniera, indipendentemente dall’urgenza della richiesta o dal carico del server generato. Un load balancer che opera secondo il principio Round Robin è particolarmente adatto ad ambienti in cui tutti i server del cluster hanno a disposizione quasi le stesse risorse. In questo caso, Round Robin è un metodo di distribuzione semplice ed efficace. Se però nel sistema di server si riscontra un forte sbilanciamento di capacità, può accadere che l’algoritmo Round Robin assegni il processo successivo, prima ancora che sia terminato il primo, a un server con prestazioni più basse, con un conseguente sovraccarico del server.

Weighted Round Robin

I punti deboli del classico algoritmo Round Robin nei cluster di server eterogenei possono essere riequilibrati tramite una distribuzione bilanciata Round Robin. In questo modo le richieste in entrata vengono distribuite considerando il carico statico del singolo server, definito inizialmente dall’amministratore. Ad esempio ai server con prestazioni elevate si può assegnare il valore 100 e ai server meno efficienti invece il valore 50. In una struttura simile il load balancer assegnerebbe due richieste al server caricato con 100, mentre il server caricato con 50 riceverebbe solo una richiesta. Weighted Round Robin è consigliabile per un load balancing in cui sono a disposizione risorse differenti tra i server collegati in un cluster.

Least Connections

Nella distribuzione seriale delle richieste al server tramite load balancer, entrambi gli algoritmi Round Robin non considerano quante connessioni i server subordinati devono mantenere in un preciso periodo di tempo. Così è possibile accumulare più connessioni in un server del cluster. Questo comporta che il server è sovraccarico anche se stabilisce meno connessioni rispetto agli altri. A questo punto entra in aiuto l’algoritmo Least Connections che distribuisce le richieste in base alle connessioni già stabilite sul server corrispondente: il load balancer assegna la richiesta successiva al server con il minor numero di connessioni attive. Questo metodo di load balancing è consigliato per i cluster di server omogenei che hanno a disposizione su tutti i computer risorse equivalenti. Se così non fosse, possono verificarsi dei ritardi nella risposta alle richieste.

Weighted Least Connections

Se un cluster di server presenta diverse capacità, al posto dell’algoritmo Least Connections, deve essere applicato un load balancing che distribuisce il carico secondo le connessioni già esistenti. Per questo vengono conteggiate sia il numero delle connessioni attive che il carico definito dall’amministratore, assicurando un bilanciamento del carico equilibrato all’interno del cluster. Le nuove richieste vengono assegnate automaticamente dal load balancer ai server che si presuppone siano meno carichi in quel momento, considerando il numero di connessioni attive stabilite sul server.

I vantaggi di un load balancing equilibrato

Grazie alla distribuzione del traffico su più server è possibile avere dei tempi di caricamento di una pagina più brevi e ciò anche in presenza di più richieste effettuate contemporaneamente. Per questo il load balancer offre una maggiore sicurezza per la stabilità del server, dato che il traffico di un server lento viene automaticamente inoltrato ad un altro server del cluster. Nel caso in cui il server non sia raggiungibile, il sito web che vi è hostato rimane comunque disponibile. In più, il load balancing semplifica la manutenzione del sistema dei server.

Le configurazioni e gli aggiornamenti possono essere effettuati mentre il server è in funzione senza alterarne le normali prestazioni. Il load balancer riconosce lo stato di manutenzione e devia conseguentemente le richieste. Ciò rende il load balancing una delle più flessibili soluzioni hosting.

Come realizzare il load balancing nella propria azienda

Il load balancing è realizzabile sia su soluzioni hardware e software che su un server virtuale. Molti provider mettono a disposizione per le aziende dei pacchetti all-in-one professionali, inclusivi di tutto, sia sotto forma di Infrastructure-as-a-Service (IaaS) o come componenti di rete per la propria infrastruttura informatica. Dato che l’acquisto di load balancer proprietari comporta generalmente dei costi elevati, le piccole aziende usufruiscono delle soluzioni open source come il Linux Virtual Server (LVS), che costituisce una possibilità conveniente di assicurarsi che il sito di un’azienda o altri progetti web siano sempre disponibili grazie ad una distribuzione del carico efficiente all’interno della rete di server. Nell’ambito del web hosting, spesso il load balancing viene offerto come feature aggiuntiva nei cloud server.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.