我们有 3 个具有相同 Web 应用程序的 Tomcat,使用相同的数据库。
我们想使用非粘性会话。
这意味着我们将不得不在tomcat(集群?)之间共享会话(复制)
我们不喜欢 delta-manger 的想法,因为它是一个具有性能成本的全对全复制。
但是我们也不太喜欢备份管理器(仍然是多个副本)
我的问题是:
是否可以定义一个将成为“会话管理器”的单个 tomcat,而所有其他 tomcat 不会自己保持会话?
这样就不需要广播会话...
我们有 3 个具有相同 Web 应用程序的 Tomcat,使用相同的数据库。
我们想使用非粘性会话。
这意味着我们将不得不在tomcat(集群?)之间共享会话(复制)
我们不喜欢 delta-manger 的想法,因为它是一个具有性能成本的全对全复制。
但是我们也不太喜欢备份管理器(仍然是多个副本)
我的问题是:
是否可以定义一个将成为“会话管理器”的单个 tomcat,而所有其他 tomcat 不会自己保持会话?
这样就不需要广播会话...
我对 Tomcat 文档的阅读发现:
...当使用增量管理器时,它将复制到所有节点,甚至是没有部署应用程序的节点。
正如你所说,但随后说:
要解决此问题,您需要使用 BackupManager。此管理器仅将会话数据复制到一个备份节点
您似乎反对“多个副本”,但这似乎与您提出的建议没有太大区别,据我所知,BackupManager 充当会话管理器。
当您没有粘性会话时,您几乎可以保证每 3 个请求中有 2 个需要从其他地方获取会话数据的副本,只有 3 个 tomcats 的全部复制会带来多少性能成本?
我怀疑调整会话大小更重要。对于任何类型的复制来说,大型会话往往都是一个问题。