0

I guess I'm kind of biased. I first became interested in Java web frameworks just over two years ago after I learned about servlets. When I decided to form my company and begin developing a webapp I knew I was going to use a Java web technology. I also wanted to keep my development stack open-sourced. Right now we're using Maven, Hibernate, Spring 3 (and many child technologies such as spring social, spring security, and spring web flow), Tomcat 7 as the app-server. We have a few interdependent multi-module maven projects and are about 13 months in. We are just getting to the spring 3 stuff and I realized I am not even sure if spring 3 is the right choice.

This application is intended to be used by (ultimately) hundreds of thousands of concurrent users (or maybe even much more). The operations are not complex - lots of db queries, some graph stuff. We intend to use some ajax and fancy javascript. This app is going to be driven viral so we need a framework that is robust.

Is spring 3 a good choice for this? If yes, why? If no - same question. From my research I've learned that spring 3 may be better for "more complex" web applications rather than high-traffic ones (which needless to say worried me a little bit). Is Tomcat 7 an appropriate app-server for this type of project, or would I benefit more from another?

Please provide a concise yet informative explanation with your answer.

Thank you,

Sam Levin
  • 3,326
  • 7
  • 30
  • 44

1 Answers1

0

Sounds like your main concern is performance. If you're not planning on running the whole show on a single server (and you better not if you're trying to run at web scale), then choice of MVC framework is unlikely to be your bottleneck. Most cases I've seen end up having the storage layer as the bottleneck. Your mileage may vary.

Spring is a solid framework for building web services. It has a lot of stuff built in that makes it really easy. It helps you avoid reinventing the wheel for a lot of problems that are already solved.

Tomcat is fine, though you may find embedded Jetty easier to deploy. Your mileage may vary. Again, the servlet container is generally unlikely to be a scaling limitation.

Ben Hardy
  • 1,739
  • 14
  • 16