假设我有一个使用Spring框架和Tomcat 6的Java Servlet + JSP应用程序。这个应用程序必须托管在多台机器上。如何跨多台计算机共享HTTP会话?
我通常使用此代码获取会话:
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpSession session = httpRequest.getSession();
我是否应该使用常见的MySQL数据库或其他东西使用其他类型的会话(HttpSession的自定义实现)?有什么想法吗?
答案 0 :(得分:1)
如果要使用共享HTTP会话存储,则需要覆盖所使用的应用程序服务器中的会话管理器。这是Tomcat 8的一个链接,可以给你一个想法 - http://tomcat.apache.org/tomcat-8.0-doc/config/manager.html
要回答问题的“应该”部分 - 您不必这样做。您可以在负载均衡器上使用基于会话cookie的“粘性”选项作为共享cookie存储的替代方法。