我们正在研究是否可以使用HAProxy在多个tomcat服务器之间进行负载均衡。我们希望对所有请求使用HTTP,并通过JSESSIONID cookie使用会话。 HAProxy本身不支持SSL,但我们可以在它前面使用stunnel。
记住这个设置:
1)我们是否必须使用粘性会话(后续请求总是转到同一个tomcat实例)?
2)如果我们必须使用粘性会话,那么我们如何解决使用新的webapp部署更新我们的tomcat实例而不必强制用户注销(丢失其会话)?
答案 0 :(得分:4)
您不必使用粘性会话,但如果您不使用粘性会话,则需要使用共享会话解决方案,如http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html所述(JDBC会话存储可能就是这种方式)去)。我打赌你可以找到代码在Redis或Memcache中进行会话存储,但我没有广泛看过。
一旦你这样做,它也将解决更新实例的问题,虽然我的经验并不是Web应用程序更新自动使会话无效(似乎只有完全重启才能这样做)。不过,我不得不仔细研究一下。