Un load balancer distribuisce il traffico su più server: scala oltre la singola macchina e, soprattutto, sopravvive ai guasti – gli health check sondano i backend e il traffico smette di andare verso chi non risponde. Senza health check non è bilanciamento, è roulette.
Le distinzioni utili:
- L4 vs L7: a livello di connessione (veloce, cieco) o di richiesta HTTP (può instradare per path/header, terminare TLS – di fatto ogni reverse proxy moderno è anche un LB L7: Caddy, Nginx, HAProxy, zion)
- algoritmi: round robin di base, least-connections quando le richieste pesano diverso, IP-hash quando serve stickiness (finché lo stato di sessione non lo togli di mezzo – la cura vera)
- il LB stesso è un single point: si raddoppia (keepalived/VRRP), o si delega al DNS/anycast – i load balancer gestiti delle CDN fanno failover tra origini con health check inclusi
In piccolo, su Proxmox: un LXC con HAProxy davanti a due repliche dell'app è l'HA dei poveri che funziona davvero.