Load balancing is het verdelen van binnenkomend werk over meerdere servers, zodat geen enkele overbelast raakt en het systeem als geheel snel en beschikbaar blijft. Groeit het verkeer voorbij wat één machine prettig aankan, dan zet je er servers bij en deel je de last tussen hen. De tool die dit uitvoert is een load balancer.

Stel je een druk ticketloket voor met één balie en een lange rij. Open drie loketten erbij en verdeel de menigte, en iedereen is veel sneller geholpen. Load balancing doet precies dit voor digitaal verkeer, en het brengt een tweede voordeel: gaat één loket dicht, dan vangen de andere de rij op, zodat de dienst nooit helemaal stilvalt. Die veerkracht is waarom het zo goed samengaat met auto-scaling, dat automatisch nieuwe loketten opent als de rij groeit.

Er zijn verschillende manieren om de last te delen. Round robin stuurt verzoeken om de beurt naar elke server, terwijl least connections de minst drukke server voortrekt. De juiste keuze hangt af van hoe gelijkmatig of ongelijk je belasting is.

Het is goed om te weten wat load balancing niet vanzelf oplost. Is de database achter die servers het echte knelpunt, dan verplaatst extra webservers alleen de rij. En een uitgevallen server blijft alleen buiten beeld als uptime monitoring en health checks echt meekijken, anders blijft verkeer naar een machine stromen die al plat ligt. Goede load balancing begint dus met meten waar de echte druk zit, niet met blind servers bijplaatsen.

Bij TopDevs ontwerpen we load balancing in systemen die onder druk overeind moeten blijven, zodat een verkeerspiek of een uitgevallen server de dienst van een klant nooit offline haalt.