Aller au contenu

Répartiteurs de charge

Aperçu des piles de répartiteur de charge prises en charge sur Stack Harbor PaaS — quand chacune convient, comment elle se place dans une topologie d'environnement et comment le répartiteur partagé de la plateforme diffère des répartiteurs au niveau de l'environnement.

La répartition de charge sur Stack Harbor PaaS opère sur deux couches. Le répartiteur partagé au niveau plateforme (Shared Load Balancer) termine les requêtes entrantes à la périphérie et les achemine vers l’environnement cible. À l’intérieur d’un environnement, un répartiteur de charge au niveau environnement distribue les requêtes entre les répliques de serveur applicatif. Cette page est l’entrée pour les répartiteurs au niveau environnement.

Quand vous mettez à l’échelle horizontalement un palier applicatif, un répartiteur est ajouté à la topologie automatiquement. Vous pouvez aussi en ajouter et en mettre à l’échelle un manuellement — y compris devant un seul serveur applicatif — quand vous voulez terminer le TLS sur le répartiteur, appliquer des règles d’accès ou placer une pile derrière une couche de cache.

Les piles de répartiteur prises en charge

  • NGINX — répartition Couche 7 avec mise en cache du contenu. Le choix par défaut et celui qui convient à la plupart des charges HTTP. Modulaire, faible surcoût, bien connu.
  • HAProxy — proxy événementiel pour TCP et HTTP. Empreinte mémoire stable en forte concurrence, persistance intelligente, interface admin avec statistiques en direct.
  • Varnish — proxy inverse de cache HTTP uniquement. Sur le PaaS, il est livré avec NGINX en façade pour la terminaison TLS, ce qui se combine avec le TLS personnalisé.
  • Répartiteur Apache — répartiteur à modules avec de larges crochets de personnalisation. Pertinent si vous exploitez déjà Apache et voulez un palier homogène.
  • LiteSpeed Web ADC — ADC commercial haute performance avec HTTP/3 / QUIC, pare-feu applicatif web, filtrage anti-DDoS de couche 7 et délestage.

Exploiter un palier applicatif derrière un répartiteur de charge avec deux nœuds ou plus est le motif de production standard — il vous donne la redondance et retire le serveur applicatif lui-même comme point de défaillance unique.

Où chaque couche s’inscrit

CoucheRôleEmplacement
Shared Load BalancerAchemine les requêtes entrantes depuis l’internet public vers le bon environnementGéré par la plateforme, devant chaque environnement sans IP publique
Répartiteur d’environnementDistribue les requêtes entre les répliques d’un même environnementÀ l’intérieur de l’environnement, comme nœud dédié
IP publiqueContourne le Shared Load Balancer et s’attache directement à un nœudAttachée à n’importe quel nœud de l’environnement

Vous pouvez exécuter le répartiteur d’environnement derrière le Shared Load Balancer (par défaut) ou l’exposer directement via une IP publique — voir le document IP publique pour le compromis.

Vérifications de santé des backends

Chaque répartiteur au niveau environnement embarque une vérification de santé par défaut afin qu’une réplique défaillante soit retirée de la rotation :

  • NGINX — vérification TCP sur le port amont juste avant de router une requête. En cas d’échec, le nœud suivant dans la couche est essayé.
  • HAProxy — vérifications TCP toutes les 2 secondes par défaut ; les résultats vivent dans une table d’état en mémoire.
  • Varnish — sonde l’URL configurée une fois par minute avec un délai de 30 secondes, déclarant le backend défaillant après 2 échecs dans une fenêtre de 5 sondes.
  • LiteSpeed ADC — vérification TCP sur l’IP interne chaque seconde avec un délai d’une seconde, au niveau Worker Group.
  • Répartiteur Apache — pas de vérification de santé par défaut ; configurez-la via mod_proxy_hcheck d’Apache si vous voulez un sondage actif.

Les valeurs par défaut sont des points de départ raisonnables. Ajustez l’intervalle, le délai et le seuil d’échec depuis les fichiers de configuration du répartiteur via le gestionnaire de fichiers du tableau de bord ou en SSH.

Choisir un répartiteur

Un arbre de décision sommaire :

  • Application HTTP sans exigence de cache particulière → NGINX
  • Mix TCP / HTTP, forte concurrence, persistance de session intelligente, interface de statistiques → HAProxy
  • Application HTTP où la mise en cache en bordure du contenu statique et dynamique cacheable est l’objectif → Varnish
  • Préférence pour Apache, règles de réécriture avancées, extension par module → Répartiteur Apache
  • HTTP/3 dès le départ, WAF, performance de classe ADC, support commercial → LiteSpeed Web ADC

Le choix n’est pas définitif — vous pouvez changer la pile de répartiteur plus tard en modifiant la topologie de l’environnement.

Voir aussi