Por um lado, você pode usar o aplicativo padrão do gerenciador Tomcat para reimplantar um aplicativo de um WAR sem ter que parar o próprio Tomcat. O tempo de inatividade é apenas o necessário para implantar esse aplicativo único.
Mas, para quase 0 tempo de inatividade, você realmente deseja um balanceador de carga e vários servidores Tomcat. Servidor HTTP Apache com mod_proxy / mod_proxy_balancer ou mod_jk é uma boa solução gratuita para isso. No entanto, você pode escolher como lidar com as sessões - você pode perdê-las quando alternar de um servidor para outro ou replicá-las entre os servidores (o que é bastante fácil de configurar). A maior parte da complexidade do clustering e do balanceamento de carga gira em torno do tratamento de sessões.