Rééquilibrage des sessions dans Relianoid avec la persistance des sessions basée sur l'insertion de cookies

Voir les catégories

Rééquilibrage des sessions dans Relianoid avec la persistance des sessions basée sur l'insertion de cookies

2 min de lecture

Question #

Un utilisateur signale qu'il utilise Relianoid pour équilibrer la charge avec la persistance des sessions basée sur l'insertion de cookies. Au départ, la configuration était parfaitement équilibrée avec cinq serveurs. Cependant, après l'ajout d'un nouveau serveur au pool, les sessions ne sont pas distribuées comme prévu. Le nouveau serveur ne dispose que de quelques sessions, tandis que les serveurs existants continuent de gérer la majeure partie du trafic.

Explication #

Ce problème survient en raison du mécanisme de persistance de session actuel et de l’algorithme d’équilibrage de charge utilisé.

Comprendre le problème #

1. Persistance de session basée sur l'insertion de cookies:Lors de l'utilisation de l'insertion de cookies pour la persistance de session, l'équilibreur de charge attribue un cookie unique à chaque client. Ce cookie dirige les requêtes ultérieures du même client vers le même serveur principal, garantissant ainsi la persistance de la session. Cela fonctionne bien dans une configuration stable, mais crée des problèmes lorsqu'un nouveau serveur est ajouté au pool.

2. Les sessions existantes sont « collantes »: Étant donné que les sessions sont déjà établies avec l'ensemble initial de serveurs, ces sessions existantes restent « collées » à leurs backends d'origine en raison du cookie de persistance. Par conséquent, le serveur nouvellement ajouté ne reçoit que les nouvelles sessions ou le trafic des nouveaux clients auxquels aucun cookie de persistance n'a encore été attribué.

3. Limitations de l'algorithme de planification actuel: De nombreux équilibreurs de charge utilisent un algorithme de planification par défaut comme Round Robin ou Least Response Time. Ces algorithmes ne rééquilibrent pas nécessairement la charge lorsque de nouveaux serveurs sont ajoutés, en particulier lorsque la persistance de session est impliquée. Cela est dû au fait que les algorithmes ont tendance à maintenir les connexions aux backends existants pour les sessions actives.

Rééquilibrage des sessions de cookies

Pourquoi les sessions ne sont pas rééquilibrées #

Lorsqu'un nouveau serveur est ajouté, il ne commence pas immédiatement à partager la charge de manière égale car :

  • Les sessions existantes sont liées à leurs backends d'origine.
  • L'algorithme de planification par défaut ne donne pas la priorité aux backends avec moins de sessions ou de connexions.

Pour obtenir une répartition équitable des sessions, un algorithme d’équilibrage de charge différent est nécessaire.

Solution #

Utilisez l'algorithme de planification « Moins de connexions » #

L'algorithme Least Connections est une méthode de planification dans laquelle l'équilibreur de charge sélectionne le serveur principal avec le moins de connexions actives. Cette approche permet de répartir les sessions de manière plus uniforme, en particulier lorsqu'un nouveau serveur est ajouté au pool.

Voici pourquoi « Le moins de connexions » fonctionne efficacement dans ce scénario :

  • Rééquilibrage dynamique : contrairement aux algorithmes tels que Round Robin, Least Connections évalue en permanence quel serveur a le moins de sessions actives. Cela permet au nouveau serveur, qui a moins de sessions au départ, de recevoir davantage de nouvelles connexions jusqu'à ce que la charge soit équilibrée.
  • Meilleure utilisation des ressources : à mesure que de nouvelles sessions sont créées, elles seront dirigées vers le serveur avec la charge la plus faible, améliorant ainsi l'utilisation globale des ressources.

Étapes pour implémenter l'algorithme « Least Connections » dans Relianoid #

1. Accéder à la configuration de l'équilibreur de charge Relianoid:Connectez-vous à votre console d'administration Relianoid ou utilisez les outils CLI si applicable.
2. Accédez aux paramètres de l'équilibreur de charge:Recherchez les paramètres de votre instance d’équilibreur de charge qui gère le pool de serveurs avec la persistance de session.
3. Modifier l'algorithme de planification:

  • Recherchez le paramètre de l’algorithme d’équilibrage de charge ou de la méthode de planification.
  • Modifiez l'algorithme du paramètre actuel (par exemple, Round Robin) à Les moindres connexions.

4. Enregistrer et appliquer les modifications: Assurez-vous d'enregistrer vos modifications et de les appliquer à la configuration de l'équilibreur de charge. Selon votre environnement, cela peut nécessiter le redémarrage de l'équilibreur de charge ou l'exécution d'un rechargement logiciel.
5. Surveiller et vérifier:Après avoir appliqué les modifications, surveillez la répartition des sessions sur tous les serveurs. Au fil du temps, le nouveau serveur devrait commencer à recevoir davantage de sessions, ce qui entraînera une charge plus équilibrée.

Conclusion #

En modifiant l'algorithme d'équilibrage de charge sur « Moins de connexions », vous vous assurez que le serveur nouvellement ajouté peut rattraper son retard et commencer à gérer davantage de sessions. Cette méthode de planification dynamique prend en compte le nombre de connexions actives et répartit efficacement la charge, résolvant ainsi le problème de déséquilibre causé par la persistance des sessions avec l'insertion de cookies.

Si vous continuez à rencontrer des problèmes après avoir implémenté ce changement, pensez à vérifier :

  • La santé et les performances du serveur nouvellement ajouté.
  • La configuration d'autres paramètres susceptibles d'affecter l'équilibrage de charge (par exemple, les paramètres de délai d'expiration de session, la durée de persistance, etc.).
  • Journaux au niveau du réseau ou de l'application pour détecter d'éventuelles erreurs ou goulots d'étranglement.

En suivant ces étapes, vous pouvez optimiser la configuration de votre équilibreur de charge pour garantir une distribution de session juste et équilibrée sur tous les serveurs de votre pool.

📄 Téléchargez ce document au format PDF #

    E-MAIL: *

    Sécurité accrue. Efforts réduits. Succès durable. Meilleurs Docs