La répartition de charge (load balancing en anglais, littéralement équilibrage de charge) est une technique utilisée en informatique pour distribuer un travail entre plusieurs processus, ordinateurs, disques ou autres ressources. Elle s'applique, en particulier, au domaine des connexions réseau, où elle permet d'assurer l'extensibilité et la haute disponibilité d'applications et de sites web.
Pour ceux d'entre vous qui souhaiteraient en savoir plus, je vous conseille l'article intitulé
Making applications scalable with Load Balancing. Cette introduction aux techniques de répartition de charge a été écrite par Willy Tarreau, qui n'est autre que le mainteneur officiel du noyau Linux 2.4 et l'auteur de HAProxy.
Si après la théorie, vous souhaitez passer à la pratique, HAProxy est particulièrement recommandé : c'est un répartiteur de charge logiciel sous licence GPLv2.
HAProxy est une solution libre, fiable et très performante de répartition de charge de niveau 4 (TCP) et 7 (HTTP). Elle est particulièrement adaptée aux sites web fortement chargés qui nécessitent de la persistance ou du traitement au niveau 7.
La fiabilité est l'un, sinon le point fort d'HAProxy. Il est par exemple utilisé par des sociétés apparaissant au classement Fortune 500 pour servir des millions de pages chaque jour.
Cette fiabilité ne s'est pas faite au détriment des performances : HAProxy requiert peu de ressources, et son architecture évènementielle mono-processus lui permet facilement de gérer plusieurs milliers de connexions simultanées sur plusieurs relais sans effondrer le système.
Enfin, la sécurité est au rendez-vous : pas une seule vulnérabilité en 4 ans. De plus, HAProxy est capable de se
chrooter et de diminuer ses privilèges au lancement.