1 votes

Comment configurer un reverse proxy/équilibreur de charge pour un routage personnalisé ?

Supposons que j'ai 3 serveurs Web derrière un proxy inverse/équilibreur de charge. J'utilise actuellement Apache 2, mais cela ne me dérange pas de changer.

Ces serveurs web ne sont pas égaux. Ils disposent de différents ensembles de données locales, ce qui signifie que différents types de demandes seront traités plus efficacement sur un serveur web spécifique.

Je veux intégrer une logique de routage personnalisée dans mon équilibreur de charge, qui, au début d'une nouvelle session, sélectionnerait un serveur Web pour celle-ci, puis lierait cette session à ce nœud jusqu'à ce qu'il tombe en panne (sticky session).

Par exemple : un nouvel utilisateur arrive sur la webapp, l'équilibreur de charge exécute mon code personnalisé d'une manière ou d'une autre, ce code trouve des informations sur cet utilisateur et conclut que cet utilisateur doit être traité sur le nœud 1. L'équilibreur de charge envoie cet utilisateur sur le nœud 1 et l'y colle. Lorsqu'un autre utilisateur arrive, la logique de routage personnalisée suggère le noeud 3, vers lequel l'équilibreur de charge envoie cet utilisateur.

Est-il possible de le faire avec Apache 2 ? Si non, quel proxy/équilibreur de charge me donnerait cette possibilité ?

Merci.

1 votes

Je suppose que beaucoup de choses dépendent des détails derrière "mon code personnalisé" et "trouver des informations sur cet utilisateur". Quel code essayez-vous d'exécuter ? Et quelles informations cherchez-vous à recueillir pour faire votre choix d'équilibrage ?

2voto

Jin Yong Points 7101

Vous pouvez envisager haproxy en option. vous pouvez l'utiliser pour implémenter des sessions collantes et faire du routage http L7 personnalisé (en-tête, basé sur l'url)

0 votes

+1 haproxy fait cela très facilement.

0voto

Paco Points 6156

Si haproxy est trop complexe pour vous, essayez livre .

0 votes

Je suis d'accord avec Pound, je l'ai utilisé en production avec keepalive, ça a bien marché.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X