1. Persistence: Hibernate with MySQL 2. Business: Spring 2.5 3. Presentation: Wicket
I want my application to have high availability and scalability, so I want to cluster it with load-balancing, fail-over and synchronization. I wonder if you know of any nice tutorial which will educate me on the subject? And if not, if you can give me some pointers of what I need to do.
I have some questions below, if you know of something I haven't thought to ask about feel free to educate me further. I've found it hard to find concrete information regarding this topic.
1. Do I have to run this inside a Java EE server or is it possible using Tomcat? 2. Should I run this inside a Java EE server? I have used JBoss 4.x, maybe I should use it?
I have seen suggestions for deployment architectures similar to this one:
3. What should I use for load balancer? (I know there are multiple load balancing strategies.) 4. I've heard that WebServer1, ... , WebServerN should be synchronized, use fail-over and be load-balanced. Exactly what do I have to synchronize? How is that achieved? 5. I've also heard that MySqlServer1, ... , MySqlServerN should be synchronized, use fail-over and be load-balanced. Exactly what do I have to synchronize? How is that achieved? 6. In the past I've only a 3-tier architecture based on JPA, EJB (Stateless session beans) and JSP+Servlet for Persistence, Business and the Presentation layers. Pure Hibernate (I've used JPA with Hibernate as persistence provider) is new to me, Spring 2.5 is new and Wicket is new. Also creating a clustered solution like this is new to me. :-) I'm a bit afraid that there are too many new components for me to handle. Wicket seems easy enough, I'm reading Wicket in Action. Do you think I should change any of the other components into components I've used before, as the new components requires a high learning investment? (I should also make a note of that I am not entirely satisfied with Java EE in its current version.)
If you've read this far, thank you! I'm a bit lost at the moment as solutions with high availability and scalability are new to me, I would really appreciate any help I can get. [ November 19, 2008: Message edited by: P Kuling ]