Load Balancer
Définition
Un load balancer distribue le trafic réseau entrant sur plusieurs serveurs backend (un pool de serveurs ou un cluster) pour s’assurer qu’aucun serveur unique ne soit surchargé. Il améliore la disponibilité, la fiabilité et les performances des applications.
Les load balancers opèrent à différents niveaux du modèle OSI, avec des capacités différentes à chaque niveau.
Types de Load Balancer par couche OSI
| Couche |
Nom |
Fonctionnement |
Exemple |
| L4 (Transport) |
TCP/UDP |
Routage basé sur IP + port |
HAProxy, AWS NLB |
| L7 (Application) |
HTTP/HTTPS |
Routage basé sur URL, headers, cookies |
NGINX, AWS ALB |
Algorithmes de Load Balancing
| Algorithme |
Description |
Meilleur pour |
| Round Robin |
Distribution séquentielle à chaque serveur |
Serveurs de capacité égale |
| Weighted Round Robin |
Les serveurs reçoivent une part proportionnelle |
Serveurs de capacités différentes |
| Least Connections |
Envoi au serveur avec le moins de connexions actives |
Connexions de longue durée |
| Least Response Time |
Envoi au serveur répondant le plus rapidement |
Temps de réponse variables |
| IP Hash |
Le même client IP va toujours au même serveur |
Persistance de session |
| Random |
Sélection aléatoire de serveur |
Déploiements simples |
Modèles de haute disponibilité
- Active-Passive : Un LB actif, un en veille (failover)
- Active-Active : Plusieurs LBs servant le trafic simultanément
- Health Checks : Surveiller la santé des serveurs backend ; retirer les serveurs non sains
- Session Persistence (Sticky Sessions) : Acheminer le même utilisateur vers le même backend
Load Balancers populaires
| Outil |
Type |
Notes |
| NGINX |
L7 (HTTP) |
Reverse proxy + load balancer |
| HAProxy |
L4/L7 |
Load balancer dédié, haute performance |
| AWS ALB/NLB |
Cloud |
Application/Network Load Balancer |
| Envoy |
L7 |
Cloud-native, sidecar de service mesh |
| Traefik |
L7 |
Docker/Kubernetes-native |
| Keepalived |
VRRP |
HA pour adresses IP virtuelles (pas un LB lui-même) |
Termes liés
- Cdn — surveille la santé des serveurs backend
- SSL Termination — le LB peut terminer TLS pour les backends
Références