gpt4 book ai didi

Tomcat 持久化管理器

转载 作者:行者123 更新时间:2023-11-28 23:26:08 25 4
gpt4 key购买 nike

我有 2 个 Tomcat 在 sticky_sessions=false 的负载平衡中工作。所以我需要跨 Tomcat 的“ session 持久性”。Tomcat 文档说有 3 种方法:

  1. Tomcat 集群
  2. 持久性经理 + 共享目录
  3. 持久性管理器 + SQL 存储

集群不适合我,因为在它写的文档中,配置它 sticky_sessions 应该是真的。

我尝试了 Persistance Manager,但它看起来也不起作用,因为它仅在超时后才保留 session ,因此 sticky_session=false 它不起作用。

Persistance Manager 可以立即持久化 session 吗?

我读到有关 memcached-session-manager 的信息,但它看起来像 3d 派对解决方案,所以我不敢使用它。这是唯一的解决方案吗?

最佳答案

不需要 session 持久性;你也可以通过集群来做到这一点。粘性 session 通常是一个好主意,因为它们解决了很多潜在的竞争条件(或者,性能问题)。

您可以在没有粘性 session 的情况下启用集群。但是你可能希望使用带有集群的 stick session,除非有一些令人信服的理由来禁用它。 (请记住,启用粘性 session 后仍会发生故障转移。)

PersistentManager 的问题是您不能保证 session 会在存储中及时更新。查看 PersistentManagermaxIdleBackup 配置属性。它可能会给您一些关于如何调整持久性的线索。

PersistentManager 实际上是为了解决一个不同的问题:处理大量内存有限的长期 session 。考虑使用像 Amazon.com 这样的网站,他们会在几周内记住您“购物车”中的商品。您可以通过将“购物车”存储在 session 中并持久保存到数据库或文件中来以惰性方式执行此操作。

如果您真的想跨多个服务器共享 session ,集群是您的最佳选择。有一些great presentations在涵盖集群的 Tomcat 网站上可用。

关于Tomcat 持久化管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36773987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com