• Bilanciare il carico di lavoro dei Web Servers

    Load BalancingPer evitare che i nostri server siano saturati da richieste a cui non riescono a far fronte, si può implementare il load-balancing, spesso considerato una tecnica per ottenere “High Availability”.

    Il modo più semplice di effettuare il bilanciamento del carico è detto Round Robin: ogni richiesta viene effettuata su un server differente, a rotazione: In un cluster di 100 macchine, 100 richieste verranno distribuite su tutti i 100 server, a rotazione dal primo all’ultimo.
    Si tratta di tecnica molto semplice da usare “per ottenere alta disponibilità ”, peraltro già  inclusa ad esempio in Apache. Il limite è che se un server è sovraccarico non avrà  mai il tempo rientrare in una situazione di normalità .

    La tecnica Random (casuale) ci regala, invece, un modo elegante per distribuire le richieste: non si basa su nessuna metrica, ma per i puristi resta comunque fuori controllo dando la possibilità  (anche se casuale) di continuare a girare richieste verso server già  sovraccarichi di loro.

    Una variante di questa tecnica è la Weighted Random, dove viene considerata la “potenza del server”: i server più potenti avranno una possibilità  più alta di ricevere richieste.

    La tecnica Predictive è una variante del Round Robin: vengono introdotte alcune regole al normale ciclo, effettuando delle scelte: ad esempio saltando i server già  saturi di richieste.

    Load Balancing al lato pratico
    Può essere implementato tramite l’utilizzo di “Switch web”: quelli di fascia alta riescono a reggere alti carichi di connessioni simultanee, e spesso hanno la possibilità  di essere configurati per “parlare” tra di loro e condividere informazioni sullo stato del pool di server. Coordinano il traffico basandosi su regole HTTP, usando quindi come parametri dei componenti specifici del protocollo HTTP.

    Utilizzando invece i Server Virtual IP, vengono creati degli IP virtuali tramite cui il traffico viene direzionato. Non fanno nessun controllo sul contenuto del flusso di dati, e si limitano a ruotare le richieste in base al metodo prescelto.

    Gestione dei certificati
    Scegliere il metodo di load balancing, e lo strumento col quale applicarlo, necessitano quindi di studi specifici sul tipo di traffico, e sull’architettura dell’applicazione che si vuole bilanciare, soprattutto quando entrano in gioco variabili come SSL.

    L’SSL infatti è basato sulla generazione di un certificato legato ad un IP mentre, utilizzando alcune tecniche, potremmo ritrovarci con diversi IP finti che rigirano il traffico.

    Se vuoi aggiornamenti su Bilanciare il carico di lavoro dei Web Servers inserisci la tua e-mail nel box qui sotto:


    Ho letto e acconsento l'informativa sulla privacy

    Si No

    Acconsento al trattamento dei dati personali di cui al punto 3 dell'informativa sulla privacy

    Si No

    Commenta

    Your email address will not be published. Required fields are marked *