Je me bats pour trouver la configuration correcte pour mon haproxy:bâton haproxy à un groupe de serveurs back-end
Je application web Ruby on Rails qui est servi par deux hôtes physiques, chacun ayant 3 travailleurs. Les deux hôtes ont chacun une base de données, et les deux bases de données sont synchronisées en temps réel.
J'essaie de faire en sorte que les sessions restent sur le même hôte, de sorte que les demandes sont toujours équilibrées sur les 3 opérateurs de chaque hôte.
L'objectif est d'éviter que deux demandes consécutives provenant du même client soient envoyées à des hôtes différents.
Ma config ressemble à ceci:
frontend web_front
bind *:4100
default_backend web_back
backend web_back
cookie SERVERID insert indirect nocache
balance roundrobin
server host_1_web_1 129.168.0.1:3000 maxconn 1 check cookie SRV_1
server host_1_web_2 129.168.0.1:3001 maxconn 1 check cookie SRV_1
server host_1_web_3 129.168.0.1:3002 maxconn 1 check cookie SRV_1
server host_2_web_1 129.168.0.2:3000 maxconn 1 check cookie SRV_2
server host_2_web_2 129.168.0.2:3001 maxconn 1 check cookie SRV_2
server host_2_web_3 129.168.0.2:3002 maxconn 1 check cookie SRV_2
Comme vous pouvez le voir, j'ai mis le cookie de chaque hôte à la même valeur, saut que les demandes seraient charger encore bien équilibrée accross travailleurs, mais maintenant seulement le premier travailleur de chaque hôte semble recevoir des demandes.
Y a-t-il un moyen de contourner cela? Peut-être en utilisant des tables collantes?
Oui, mais en définissant une valeur différente, chaque client collera au même serveur. Je voudrais que l'équilibrage de charge ait lieu entre les trois serveurs d'un hôte. – ste26054
Ok, je reçois ce que vous voulez maintenant, j'édite ma réponse. – MoEmEn
Merci, ça a fonctionné parfaitement! – ste26054