In production environment, should we always use IIS/Apache before Tomcat instead of just a standalone Tomcat serving everything? I have the impression that Tomcat alone isn't suitable for production environment.
I have seen many installations with and without Apache in front of Tomcat. I would say that for most sites Tomcat is more than capable to handle production operations. There is some stuff that Apache can do that Tomcat is not as good at. I see Apache used for stuff like aggregating 20-odd Tomcat servers into a single outside view, or SSL for large virtual host environments. If it is purely for high-load sites or for relatively plain sites, I would opt to run Tomcat stand-alone. Less overhead, both run-time and administratively.
If my main focus is just failover rather than horizontal scaling. That is, my appli is used by internal users with only moderate amount of requests, and I want to make sure crashing of one server doesn't cause the whole appli unavailable. Can I achieve this with standalone tomcat boxes only without an Apache frontend to route the traffic?
Kees Jan Koster
Joined: Mar 31, 2009
Yes, I believe you can. You'd have to read up on Tomcat's clustering and session replication configuration.