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 ?