⚖️
infrastructure

Load Balancer

Composant qui distribue le trafic reseau entre plusieurs serveurs.

Definition

Un load balancer (repartiteur de charge) est un composant reseau qui distribue le trafic entrant entre plusieurs serveurs pour optimiser les performances, maximiser la disponibilite et eviter la surcharge d'un serveur unique.

C'est un element essentiel de toute architecture web a haute disponibilite. Sans load balancer, un seul serveur recevrait tout le trafic, creant un point de defaillance unique (SPOF).

Pourquoi utiliser un load balancer ?

  • Performance : repartit la charge pour des temps de reponse optimaux
  • Disponibilite : si un serveur tombe, le trafic est redirige vers les autres
  • Scalabilite : ajoutez des serveurs sans changer la configuration
  • Securite : point unique pour le SSL termination, le rate limiting et le WAF

Types de load balancers

Layer 4 (Transport — TCP/UDP)

Opere au niveau TCP/UDP. Redirige en fonction de l'IP source/destination et du port. Tres rapide car ne lit pas le contenu des requetes.

Layer 7 (Application — HTTP/HTTPS)

Opere au niveau HTTP. Peut rediriger en fonction de l'URL, des headers, des cookies ou du contenu. Plus intelligent mais legèrement plus lent.

# Exemple Nginx comme load balancer L7
upstream backend {
    server 10.0.0.1:3000 weight=3;
    server 10.0.0.2:3000 weight=1;
    server 10.0.0.3:3000 backup;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
    }
}

Algorithmes de repartition

Algorithme Description Cas d'usage
Round Robin Chaque serveur a tour de role Serveurs homogenes
Weighted Round Robin Poids differents par serveur Serveurs heterogenes
Least Connections Serveur avec le moins de connexions actives Requetes de duree variable
IP Hash Meme IP client → meme serveur Sessions sticky
Random Serveur aleatoire Simple, bonne distribution

Health checks

Le load balancer verifie regulierement que chaque serveur est operationnel :

  • TCP check : la connexion TCP reussit-elle ?
  • HTTP check : le endpoint /health retourne-t-il un 200 ?
  • Custom check : verification metier specifique

Si un serveur echoue au health check, il est retire du pool automatiquement.

Solutions courantes

  • Cloud : AWS ALB/NLB, GCP Load Balancer, Azure Load Balancer
  • On-premise : Nginx, HAProxy, Traefik, Envoy
  • DNS-based : Cloudflare, Route 53 (repartition geographique)

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions frequentes

Quelle est la difference entre ALB et NLB sur AWS ?
ALB (Application Load Balancer) opere au Layer 7 (HTTP) et permet le routage base sur l'URL, les headers, etc. NLB (Network Load Balancer) opere au Layer 4 (TCP) et offre des performances ultra-faibles latences pour les connexions TCP brutes.
Faut-il un load balancer pour un petit site ?
Pour un petit site avec un seul serveur, un load balancer n'est pas necessaire. Mais des qu'on a 2+ serveurs ou qu'on veut du zero-downtime deployment, c'est indispensable.
Comment gerer les sessions avec un load balancer ?
Trois approches : sticky sessions (IP hash), sessions centralisees (Redis), ou authentification stateless (JWT). Les sessions centralisees sont la meilleure approche pour la scalabilite.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.