Load balancing
Il Load Balancing è una tecnica informatica che consiste nel distribuire il carico di uno specifico servizio, ad esempio la fornitura di un sito web, tra più server. Si aumentano in questo modo la scalabilità e l'affidabilità dell'architettura nel suo complesso.
In pratica se arrivano 10 richieste per una pagina web su un cluster di 3 server, alle prime 3 risponderà il "primo" server, a 3 il "secondo" ed alle ultime 4 il "terzo".
La scalabilità deriva dal fatto che, nel caso sia necessario, si possono aggiungere nuovi server al cluster, mentre la maggiore affidabilità deriva dal fatto che la rottura di uno dei server non compromette la fornitura del servizio; non a caso i sistemi di load balancing in genere integrano dei sistemi di monitoraggio che escludono automaticamente dal cluster i server non raggiungibili ed evitano in questo modo di far fallire una porzione delle richieste degli utenti. Viene da sé che affinché l'architettura sia in High Availability anche il sistema di load balancing deve essere costituito da un cluster in HA.
Per ottenere Load balancing in genere si interviene o a livello di applicazione o di rete della pila ISO/OSI. Nel primo caso si ha una maggiore flessibilità, non sempre utile, ma nel secondo caso si riescono a gestire moli di traffico molto maggiori.
Esistono diverse soluzioni sia hardware che software. Nell'ambito del software libero una buona soluzione è ldirectord, soprattutto se associato ad heartbeat.
[modifica] Altri progetti
Wikimedia Commons contiene file multimediali su Load balancing
|
|