Tipi di algoritmi di bilanciamento del carico

I bilanciatori di carico decidono dove instradare il traffico di rete in base a una serie di regole predeterminate.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire "algoritmo di bilanciamento del carico"
  • Differenziare tra algoritmi di bilanciamento del carico statici e dinamici
  • Decomprimi i tipi di algoritmi all'interno di queste due categorie

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Migliora le prestazioni dei siti Web con Cloudflare Pro e i nostri componenti aggiuntivi per gli strumenti di velocità

Cos'è un algoritmo di bilanciamento del carico?

Un bilanciatore di carico è un software o un dispositivo hardware che impedisce il sovraccarico di qualsiasi server. Un algoritmo di bilanciamento del carico è la logica utilizzata da un bilanciatore di carico per distribuire il traffico di rete tra i server (un algoritmo è un insieme di regole predefinite).

Esistono due approcci principali al bilanciamento del carico. Il bilanciamento del carico dinamico utilizza algoritmi che tengono conto dello stato corrente di ciascun server e distribuiscono il traffico di conseguenza. Il bilanciamento del carico statico distribuisce il traffico senza apportare queste modifiche. Alcuni algoritmi statici inviano una quantità uguale di traffico a ciascun server in un gruppo, in un ordine specificato o in modo casuale.

Quali sono i diversi tipi di algoritmi di bilanciamento del carico?

Algoritmi dinamici di bilanciamento del carico

  • Connessione minima: controlla quali server hanno il minor numero di connessioni aperte in quel momento e invia il traffico a tali server. Ciò presuppone che tutte le connessioni richiedano più o meno la stessa potenza di elaborazione.
  • Connessione minima ponderata: offre agli amministratori la possibilità di assegnare pesi diversi a ciascun server, supponendo che alcuni server possano gestire più connessioni di altri.
  • Tempo di risposta ponderato: calcola la media del tempo di risposta di ciascun server e lo combina con il numero di connessioni aperte da ciascun server per determinare dove inviare il traffico. Inviando il traffico ai server con il tempo di risposta più rapido, l'algoritmo garantisce un servizio più rapido per gli utenti.
  • Basato sulle risorse: distribuisce il carico in base alle risorse disponibili in ciascun server in quel momento. Un software specializzato (chiamato "agente") in esecuzione su ciascun server misura la CPU e la memoria disponibili di quel server e il bilanciatore di carico interroga l'agente prima di distribuire il traffico a quel server.

Algoritmi statici di bilanciamento del carico

  • Round robin: il bilanciamento del carico round robin distribuisce il traffico a un elenco di server in rotazione utilizzando il Domain Name System (DNS). Un nameserver autoritativo avrà un elenco di diversi record A per un dominio e ne fornirà uno diverso in risposta a ogni query DNS.
  • Round robin ponderato: consente a un amministratore di assegnare pesi diversi a ciascun server. I server ritenuti in grado di gestire più traffico ne riceveranno leggermente di più. La ponderazione può essere configurata all'interno dei record DNS.
  • Hash IP: combina gli indirizzi IP di origine e di destinazione del traffico in entrata e utilizza una funzione matematica per convertirlo in un hash. In base all'hash, la connessione viene assegnata a un server specifico.

Come funziona Cloudflare Load Balancing?

Cloudflare Load Balancing utilizza i controlli di integrità per indirizzare il traffico verso server integri. Consente inoltre agli amministratori di personalizzare dove viene gestito il traffico regionale in modo da ridurre la distanza che il traffico deve percorrere. Questo approccio è noto come bilanciamento del carico del server globale (GSLB).