Questions sur round robin [Résolu]

Signaler
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020
-
DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020
-
Bonsoir,

Partie du constat que l'algorithme de basculement round robin ne gère pas la la gestion de contexte (cas d’une application nécessitant l’ouverture d’une session utilisateur) : quel algorithme, similaire à round robin peut le gérer ?

Cdt

1 réponse

Messages postés
10150
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 mars 2020
571
bonjour, nous demandes-tu quel algorithme utiliser pour éviter le basculement?
certainement pas un algorithme similaire à round robin!

peux-tu être plus précis et plus complet?
DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020
66
Bonjour, merci pour votre réponse.
J'ai eu une problème sur une application web à la quelle on peut se connecter (qui utilise des session utilisateur (GLPI)). Les deux serveur web ont des requêtes répartis grâce à un reverse proxy (HAProxy en round robin), et les données de l'app en questions sont stocké sur une BDD commune aux deux serveur web.
En effet, lorsqu'on se connecte, tout vas bien, mais après quelques clics sur l'application, le HAProxy en round robin redirige vers l'autre serveur web. Ce qui pose un problème de cookie, car l'utilisateur n'a pas pu se déconnecter de sa première session, et le deuxième serveur web ne comprend pas pourquoi la session parait ouverte sur la BDD alors qu'elle ne l'est pas dans son cache. En revanche si on se déconnecte proprement, tout roule.

Pour faire plus simple, il faudrait un algo de basculement qui ne change pas de serveur web en plein milieu de la navigation de l'utilisateur, mais qui, une fois connecté, garde le même serveur jusqu'à fermeture du navigateur ou de la session.

Avez vous une idée de ce qui conviendrait ? Balance uri peut-être (j'ai du mal à comprendre comment il agit réellement...) ?

Merci
yg_be
Messages postés
10150
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 mars 2020
571 > DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020

ah, tu donnes finalement une information utile: tu utiliserais le produit HAProxy .
est-ce exact?
cherches-tu à configurer HAProxy?
DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020
66 > yg_be
Messages postés
10150
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 mars 2020

Mon HAProxy est déjà configuré et fonctionnel, simplement, l'algo de basculement par défaut (roundrobin) ne convient pas à l'utilisation de GLPI. Il me faudrait un algo de basculement qui ne lâche plus sa session une fois qu'il l'a créé.
yg_be
Messages postés
10150
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 mars 2020
571 > DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020

l'algo de basculement n'est pas en cause, il faut completer la configuration pour que le balanceur ne bascule plus en cours de session.
quelques minutes de recherche sur internet m'ont permis de trouver deux techniques possibles:
1) l'utilisation de cookies spécifiques au balanceur, comme expliqué ici sous "Nécessité d'une connexion durable client-serveur"
2) l'utilisation des cookies de sessions de l'appli, comme expliqué ici, sous "Using application session cookie for persistence".
DoctorAngry
Messages postés
107
Date d'inscription
samedi 16 mars 2019
Statut
Membre
Dernière intervention
13 mars 2020
66 > yg_be
Messages postés
10150
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 mars 2020

Bonjour, cela devrait fonctionner. Vous avez certainement dû utilisé des mots clés plus adaptés que moi.
Merci à vous, sujet résolu !