2022-08-23 04:09 Temps de lecture : 12 min

10 Équilibreur de charge Open Source pour HA et performances améliorées

Une méthode rapide et efficace pour garantir la haute disponibilité d'une application et améliorer ses performances consiste à mettre en place un équilibreur de charge (LB).

De manière générale, on distingue trois grandes catégories d'équilibreurs de charge :

  • Matériels
  • Basés sur le cloud
  • Logiciels

Un équilibreur de charge matériel est un dispositif dédié qui assure la répartition de la charge et les fonctionnalités qui y sont liées. Voici quelques fournisseurs réputés de solutions LB matérielles :

Ces solutions sont coûteuses mais offrent un contrôle total.

Les équilibreurs de charge basés sur le cloud sont de plus en plus populaires.

L'utilisation d'un LB cloud est une manière abordable de profiter de toutes les fonctionnalités sans devoir investir dans un dispositif matériel. Vous payez uniquement ce que vous utilisez. Voici quelques exemples de LB cloud bien connus :

Les prix peuvent commencer à partir de 20 $ par mois.

Enfin, les équilibreurs de charge logiciels sont installés, gérés et configurés par l'utilisateur. Ils peuvent être commerciaux ou open source/gratuits.

Si vous disposez d'un budget limité ou si vous souhaitez explorer une solution d'équilibrage de charge gratuite, les informations ci-dessous vous seront utiles.

Seesaw

Utilisé par Google, Seesaw est un serveur d'équilibrage de charge virtuel fiable basé sur Linux. Il assure la répartition de charge nécessaire au sein d'un même réseau.

Seesaw est développé en langage Go et fonctionne de manière optimale sur les distributions Ubuntu/Debian. Il prend en charge l'anycast et le DSR (retour direct au serveur) et nécessite deux nœuds Seesaw, qui peuvent être physiques ou virtuels.

Il est important de noter que Seesaw fonctionne avec les réseaux de couche quatre. Si vous avez besoin d'un équilibrage de charge de couche sept, il vous faudra explorer d'autres options.

KEMP

Un contrôleur de distribution d'applications avancé GRATUIT proposé par KEMP est compatible avec tous les principaux hyperviseurs. Vous pouvez le télécharger et l'utiliser dans votre centre de données ou le déployer dans un DC cloud tel qu'AWS ou Azure.

Bien que gratuit, il offre un niveau de fonctionnalités comparable à une solution commerciale, notamment :

  • Équilibrage de charge de couche 4 pour TCP/UDP utilisant des algorithmes round-robin ou de moindre connexion
  • Équilibrage de couche 7
  • Intégration d'un pare-feu applicatif web (WAF)
  • Moteur de prévention des intrusions (IPS) intégré
  • Équilibrage de charge global du serveur, supportant plusieurs sites
  • Mise en cache, compression de contenu, commutation de contenu
  • Persistance des cookies web
  • Tunnelisation IPSec
  • Pré-authentification
  • Let's Encrypt
  • Kubernetes

KEMP LB est utilisé par des grandes marques telles qu'Apple, Sony, JP Morgan, Audi, Hyundai, etc. L'édition gratuite offre des fonctionnalités suffisantes ; si vous avez besoin de davantage, vous pouvez envisager leur licence commerciale.

Si vous ou votre organisation souhaitez explorer KEMP LB et avez besoin d'une formation en ligne, vous pouvez consulter ce cours en ligne proposé par Mike Walton.

HAProxy

HAProxy est l'une des solutions les plus populaires du marché pour fournir une haute disponibilité, un proxy et un équilibrage de charge TCP/HTTP. HAProxy est utilisé par des marques de renommée mondiale, comme celles mentionnées ci-dessous.

Voici quelques fonctionnalités notables :

  • Prise en charge des sockets IPv6 et UNIX
  • Décompression et compression Gzip
  • Bilans de santé
  • Persistance de session basée sur la source
  • Rapports statistiques intégrés (démonstration ici)

Comme on peut s'y attendre, HAProxy propose également une édition entreprise, du matériel et une appliance virtuelle.

La meilleure façon de se familiariser avec HAProxy est de l'essayer. L'édition communautaire est dotée de nombreuses fonctionnalités et est GRATUITE.

ZEVENET

Zévenet prend en charge les couches L3, L4 et L7. Il est disponible sous forme de code source, d'image IOS et dans un référentiel Docker.

Il prend en charge la surveillance avancée de l'état de santé, ce qui permet de mettre rapidement hors service les serveurs/services défectueux pour offrir une expérience utilisateur transparente. Zévenet, anciennement connu sous le nom de Zen, fonctionne bien avec les protocoles basés sur TCP tels que FTP, SIP, SSL, HTTP, etc.

Si vous recherchez un hébergement Zevenet, vous pouvez essayer Kamatera.

Neutrino

Neutrino, utilisé par eBay, est construit avec Scala et Netty. Il prend en charge les algorithmes de moindre connexion et de tourniquet, ainsi que les fonctionnalités de commutation suivantes :

  • Utilisation des noms canoniques
  • Basé sur le contexte
  • L4 utilisant les numéros de port TCP

Neutrino est conçu pour gérer plus de 300 requêtes par seconde sur une machine virtuelle à 2 cœurs. Par rapport à HAProxy, l'un des principaux avantages de Neutrino est la commutation L7.

Cependant, comme toujours, il est préférable de tester les deux pour déterminer celui qui convient le mieux à votre environnement.

Balance

Balance par In lab networks est un proxy TCP round-robin LB qui prend en charge IPv6 côté écoute. Cela signifie que vous pouvez avoir IPv4 en frontal et IPv6 en back-end.

Il possède toutes les fonctionnalités de base d'un LB.

Pen

Pen est testé sur Linux, FreeBSD, HP-UX, Solaris et Windows, mais il n'y a aucune raison qu'il ne fonctionne pas sur une autre distribution Unix. Il prend en charge les protocoles basés sur UDP et TCP tels que HTTP, SNMP, DNS, etc.

Outre les fonctionnalités de base, il inclut également :

  • Filtre GeoIP
  • Terminaison SSL
  • Compatibilité IPv4 et IPv6

Nginx

Vous vous demandez peut-être : Nginx est un serveur web, un serveur proxy, etc. En effet, mais la version open source de Nginx prend également en charge un niveau basique de commutation de contenu et de distribution de routage des demandes vers plusieurs serveurs.

Cependant, l'édition Nginx Plus va bien au-delà.

Nginx Plus est une solution de distribution d'applications web tout-en-un qui comprend l'équilibrage de charge, la mise en cache de contenu, le serveur web, le WAF, la surveillance, etc. Elle offre une solution d'équilibrage de charge haute performance pour faire évoluer les applications afin de répondre à des millions de requêtes par seconde.

Traefik

Traefik est un proxy de réserve HTTP moderne et rapide, ainsi qu'un LB construit avec Go. Traefik prend en charge divers services back-end tels qu'Amazon ECS, Docker, Kubernetes, Rancher, etc.

Il prend en charge les WebSockets, HTTP/2, le renouvellement automatique des certificats SSL avec Let's Encrypt, ainsi qu'une interface propre pour gérer et surveiller les ressources.

Go-between

Go-between est un équilibreur de charge L4 TCP, TLS et UDP minimaliste, mais puissant et hautement performant.

Il fonctionne sur plusieurs plateformes telles que Windows, Linux, Docker, Darwin et peut également être construit à partir du code source. L'équilibrage s'effectue sur la base des algorithmes suivants, que vous choisissez lors de la configuration :

  • Hachage IP
  • Round-robin
  • Moins de bande passante
  • Moins de connexion
  • Pondéré

D'après cette référence, Go-between est plus rapide que HAProxy mais pas que Nginx.

Si vous recherchez une solution d'équilibrage L4 moderne avec détection automatique pour un environnement dynamique, Go-between semble prometteur. Testez-le pour voir comment il fonctionne.

Conclusion

J'espère que la liste des logiciels d'équilibrage de charge open source ci-dessus vous aidera à choisir la solution adaptée à votre application. Ils sont tous GRATUITS, et la meilleure façon de savoir lequel vous convient le mieux est de les essayer.

Si vous cherchez à développer de nouvelles compétences, consultez Udemy, où des milliers de cours vidéo sont disponibles.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.