2010-05-13 3 views
0

Voici le scénario:Tomcat Load Balalncing - Paramètre basé sur les paramètres?

De nombreux utilisateurs accèdent à une application (exécutée sur tomcat), les données de l'utilisateur sont segmentées en plusieurs bases de données, disons chaque base de données contenant 1000 données utilisateur. Il est maintenant possible d'avoir des centaines de serveurs Tomcat fonctionnant sur des ordinateurs de classe PC «bon marché», chacun se connectant à une seule base de données, la session de l'utilisateur étant transmise à Tomcat et y devenant 'Sticky'. Peut avoir une sorte de 'passerelle' décidant quel utilisateur va où et en faisant l'équilibrage de charge de manière appropriée.

ferait une excellente solution d'évolutivité :)

Répondre

1

La façon dont Juriy a déjà commencé était mod_jk, peut être trouvé sur le site JK Mod, qui parle de l'équilibrage de charge. Maintenant, si vous avez besoin d'Apache pour envoyer l'utilisateur à une machine spécifique basée sur l'utilisateur, alors vous devez juste vous assurer que le cookie de session (émis, ils arrivent d'abord) n'expire pas. Bien sûr, que se passe-t-il s'ils effacent leur cookie de session? Du son, vous voulez faire quelque chose de similaire à database sharding. Est-ce plus ou moins correct?

+0

Je pense que le sharding de bases de données avec des instances tomcat dédiées par shard .. Seule une partie délicate serait de faire coller la session de l'utilisateur au correctif tomcat + shard combo . – Gala101

0

Oui, il est possible de le faire.

Vous devez configurer le serveur HTTP Apache + mod_jk devant le pool de serveurs Tomcat. Ensuite, vous pouvez configurer la stratégie d'équilibrage de charge et profiter de vos requêtes d'utilisateur de 100 tomcats.

+0

Pouvez-vous élaborer? La façon dont j'ai vu Apache enverrait la requête de l'utilisateur à «Tout» Tomcat, ici, j'ai besoin d'une décision éclairée d'envoyer l'utilisateur pour corriger Tomcat parce que seulement 1 serveur Tomcat (sur ces 100) aurait «ça» les données de l'utilisateur. – Gala101

+0

Il y aura un problème avec la stratégie des "sessions collantes": dans le cas où un Tomcat tombe en panne, l'utilisateur sera "abandonné" de la session. Le meilleur moyen est de configurer la réplication de session (partage des données de session entre les noeuds) – Juriy

Questions connexes