Salut,
J'ai passé les mois précédents à apprendre le monde du Web en Java. Cet apprentissage m'a amené à choisir les outils suivants: Tomcat, Tapestry (framework web) et Spring. Avec cette suite j'arrive à me passer d'un serveur d'application (JBoss, Glassfish...)
J'attaque maintenant la conception de l'architecture d'un projet réèl et il y a un point sur lequel je n'arrive pas à être clair, c'est l'interface entre la couche Web et la couche Application sachant que cette interface doit fournir un équilibrage de charge (load balancing)
Voici où j'en suis:
Web layer: Apache2+mod_jk & Tomcat5 & Spring2 & Tapestry4
Application layer: Tomcat & Spring2
Database layer: Mysql5 Cluster
Je pense que cet ensemble est traditionnel aux utilisateurs de Spring.
Le point noir c'est la communication entre le Web Layer et l'Application Layer.
J'imagine que le connecteur RMI de Spring2 doit être le bon tuyau, mais il n'y a pas à ma connaissance de fonction Load Balancing ?
Alors j'ai trouvé quelques pistes :
L'article "Use a distributed cache to cluster your Spring remoting services" mais il faut ajouter à l'architecture le service Cache de JBoss.
Une autre idée que je n'ai pas encore éclaircie par manque de connaissance serait d'utiliser un Serveur de messages comme ActiveMQ. L'idée serait que le Web Layer poste des messages JMS et que l'Application Layer consomme ces messages.
Est-ce une solution viable ? Serait-ce surdimensionné ?
Comment serait gérés les Session-Beans côté Application Layer ?
Une autre idée ?
Cyrille
Partager