IMHO, anyone who goes to all the extra effort of configuring
Apache+Tomcat, instead of Tomcat alone, is nuts unless they need it.
Valid reasons to need it include:
I am pondering one more: reducing interruption of service.
Tomcat can handle many webapps with ease, and you can
allow as many threads as you need to serve your users.
But when a single servlet gets stuck, you have to restart the
whole Tomcat machinery, taking down all running webapps, possibly
loosing session data and certainly interrupting service to all users,
including those completely unrelated to the hanging servlet.
My experience is based on Tomcat 4.0.3 and 3.x only.
I searched quite a while but failed to find a way to
monitor and catch individual runaway servlet threads.
Please correct me if I am wrong.
In that respect, with due appreciation for this great work, I think
standalone Tomcat does not scale well.
To avoid this, Apache just working as a proxy on port 80 for
many independent instances of Tomcat on their own ports
seems a feasible solution.
From experience, I dislike the idea of going back to Apache+Tomcat.
Both are fine by themselves, but the combi is a hassle.
Any hints for better alternatives to reduce the impact of stuck servlets?