J'ai une application Web Java Enterprise qui utilise Tomcat6 + Struts + Hibernate + MySql. À l'heure actuelle, il fonctionne en mode public sur un seul serveur. Pour résoudre les problèmes de performances, nous devons déplacer l'application vers un environnement en cluster. Quoi qu'il en soit, je veux utiliser le regroupement Tomcat6 comme ci-dessous:Clustering Apache Tomcat6
- Machine d'équilibrage de charge comprenant un serveur web (Apache + mod_proxy) en tant que front-end
- Certaines machines de serveur d'applications, chacun exécutant une instance tomcat6
- A gestion de session back-end
- Et enfin un serveur db
quelque chose comme ça
La machine d'équilibrage de charge reçoit toutes les demandes et, en fonction de l'algorithme d'équilibrage, les redirige vers la machine tomacat6 respective. Après avoir effectué la partie commerciale, la réponse est renvoyée au serveur Web et à la fin à l'utilisateur. Dans ce scénario, la machine frontale traite toutes les demandes et réponses de sorte que ce soit un point de goulot d'étranglement dans l'application.
Dans le clustering Apache Tomcat, existe-t-il un moyen de charger le mécanisme d'équilibrage et les serveurs Web? Je veux dire mettre un équilibreur de charge dans la partie frontale et laisser la partie traitement des requêtes/réponses à plusieurs serveurs Web.
s'inquiéter de la mise en cache est un problème séparé. Ce que je veux savoir ici, c'est: est-ce que cette seule machine serveur web tolérerait cette quantité de charge? –
Avez-vous des chiffres sur ce dont nous parlons? Combien d'accès (pages vues, impressions de pages, combien d'utilisateurs?) – khmarbaise
@SJ Jafari: Comment le saurais-je? Combien de visiteurs allez-vous avoir? Quelle est la complexité de chaque demande? Quelle est la puissance de votre ordinateur, CPU, RAM, disques, réseau? –