How do I "load balance" my application? That is, I want to redirect the user to another server if the number of users is over a threshold.

Prasad Thammineni

To implement the basic HTTP request load balancing you would need a load balancer like CISCO Director (hardware based) or IBM WebSphere Network Dispatcher(software based). Implementing a load balancer would allow you to spray HTTP requests across multiple Web Server/Servlet Engines (node) within a cluster.

If using Servlet Sessions make sure that you configure the load balancer for stickiness. Stickiness guarantees that all requests from a client are delivered to the same Servlet Engine. Also, if you want to guarantee that your session data survives node failures you have to persistent your session state to a shared database and re-construct it in case of failure.

Advanced Servlet Engines like IBM WebSphere Application Server Adv. Edition support persistent sessions out of the box, whereas Java Web Server does not.

See also http://www.jguru.com/jguru/faq/view.jsp?EID=44035 and http://www.jguru.com/jguru/faq/view.jsp?EID=46481