1. Persistance par Cookie #
La méthode la plus fiable pour les applications HTTP.
Insertion de Cookie #
HAProxy insère un cookie dans la réponse du serveur. Au retour, il lit ce cookie pour savoir vers quel serveur diriger la requête.
backend app_servers
balance roundrobin
cookie SERVERID insert indirect nocache
server s1 10.0.0.1:80 check cookie s1
server s2 10.0.0.2:80 check cookie s22. Persistance par IP Source #
Utilisée quand l'application ne gère pas les cookies ou pour du trafic non-HTTP.
L'algorithme source #
L'IP de l'utilisateur est hachée pour désigner un serveur. Simple, mais problématique si beaucoup d'utilisateurs partagent la même IP (ex: entreprise via un proxy).
backend app_servers
balance source
server s1 10.0.0.1:80 check3. Les Stick-Tables #
La mémoire interne de HAProxy pour une persistance avancée.
Stockage en mémoire #
Les stick-tables permettent de stocker des informations (IP, ID de session) et de les partager entre plusieurs nœuds HAProxy via Peers.
backend myapp
stick-table type ip size 100k expire 30m
stick on srcConclusion #
Maintenir l'état utilisateur.
Choisir la bonne méthode #
Le cookie est privilégié pour le Web, tandis que l'IP source ou les stick-tables sont indispensables pour les flux persistants complexes (TCP, RDP, etc.).
