Load balancer

Een load balancer verdeelt inkomend verkeer over meerdere servers. Zo raakt geen enkele server overbelast en blijft de dienst beschikbaar als één server uitvalt.

Verdelingsalgoritmen

AlgoritmeWerking
Round robinVerzoeken één voor één langs alle servers
Least connectionsVolgende verzoek naar server met minste actieve verbindingen
IP hashZelfde client gaat altijd naar zelfde server (sessie-persistentie)
WeightedKrachtigere servers krijgen meer verzoeken

Layer 4 vs Layer 7

  • L4 (transport) — verdeelt op basis van IP en poort, snel maar blind voor inhoud
  • L7 (applicatie) — verdeelt op basis van URL, headers of cookies; kan HTTPS afhandelen

Op Linux

Bekende load balancers / reverse proxies met load balancing:

  • nginxupstream-blok met meerdere servers
  • HAProxy — krachtig, gespecialiseerd in load balancing
  • keepalived — hoge beschikbaarheid met virtueel IP

Zie ook

netwerkinfrastructuur