tomcat的2个故事之间的mantain会话

时间:2016-03-31 06:34:14

标签: session tomcat

如何保存会话b / w 2个不同的tomcat实例。

没有询问粘性会话 不想使用任何令牌machenisum,如fedrated login / o-outh

1 个答案:

答案 0 :(得分:1)

嗯,对此的正式答案应该是:

使用会话复制机制。例如,对于Tomcat 7,描述了here

因此,如果您知道应用程序非常小(例如,少于100个用户,虽然它实际上取决于您计划存储的数据),您可以安全地使用它,并在这里停止阅读我的答案:)

然而,在我看来,小应用程序往往会增长,数量或用户往往会增加,所以最好不要维持会话:)。因为如果您需要会话,这意味着您在服务器上存储有关客户端的信息。因此,当客户数量增长很多时,您将无法维持这一点。

另一种选择是:

  1. 将会话信息存储在某个非常快速的存储中,例如Redis
  2. 维护用户的一些标识符(您可能已经拥有一个标识符),只需查询数据的redis。 Redis具有TTL,因此可以自动从Redis中删除数据。
  3. 优点是像这样的解决方案更具可扩展性,因此它可以轻松处理数百万条记录,而将其保持在JVM级别将无法扩展。