Een load balancer situeert zich tussen clients en een groep backend-servers en stuurt elk verzoek naar een van die servers op basis van een gekozen algoritme. Dit verspreidt de werkbelasting gelijkmatig, voorkomt dat één server een bottleneck wordt, en houdt uw service draaiende zelfs als één server uitvalt.
Load balancers werken op verschillende lagen. Layer 4 (transport) balancers routeren op basis van IP-protocolgegevens, terwijl Layer 7 (applicatie) balancers HTTP-headers kunnen inspecteren en verkeer kunnen dirigeren op basis van URL-paden, hostnamen of andere details op toepassingsniveau.
Veelgebruikte balanceringsalgoritmes:
- Round robin: verdeelt verzoeken gelijkmatig in volgorde
- Least connections: stuurt verkeer naar de server met de minste actieve verbindingen
- IP hash: routeert op basis van client-IP voor sessie-persistentie
- Weighted: wijst meer verkeer toe aan krachtigere servers
Load balancers voeren ook health checks uit—ze testen backend-servers periodiek en verwijderen niet-responsieve servers uit de rotatie. Dit zorgt ervoor dat verkeer nooit onbereikbare of verslechterde servers bereikt.
Voorbeeldopstelling: Twee webservers achter een load balancer op example.com. Uw A-record wijst naar het IP-adres van de load balancer. Als een gebruiker example.com bezoekt, routeert de load balancer het verzoek naar server 1 of server 2 (of verdeelt sessies over beide). Als server 1 uitvalt, routeert al het verkeer automatisch naar server 2, behoud van uptime.
TipLoad balancers zijn essentieel voor high-availability-architecturen. Combineer ze met DNS en statuspagina's voor redundantie en zichtbaarheid.
Cloudproviders bieden load balancers als service; on-premises-implementaties gebruiken vaak dedicated hardware of software zoals NGINX of HAProxy.