以循环模式使用 tomcat

2023-12-28

我想在配置中运行我的 tomcat 实例,其中通过循环将请求提供给多个 tomcat 实例。我不想使用任何内部集群管理器。

据我所知,如果每个请求都由不同的tomcat提供服务,则未知的sessionId将到达tomcat,因此它将被迫创建一个新会话并覆盖旧的sessionId。因此,对于每个请求,都会创建一个新会话。这似乎是一个很大的开销。

我对这件事的看法正确吗?有没有办法禁用 tomcats 会话管理?

问候, 迈克尔


基本上你有两种选择:

1) 复制您的会话,以便任何 Tomcat 节点都可以访问它们。解决方案:Tomcat集群 http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html, memcached 会话管理器 http://code.google.com/p/memcached-session-manager/,可能还有其他。

2) 使用负载均衡器并实现粘性会话。第一个请求将在循环的基础上随机路由,但后续请求将坚持到同一服务器。解决方案:模组代理 http://httpd.apache.org/docs/2.2/mod/mod_proxy.html,硬件流量管理器。

第一个选项的缺点是会话复制成本高昂、不太可靠并且通常需要Serializable-仅将数据放入会话中。

第二种方法的缺点是,如果您关闭 Tomcat 进行维护,用户将被迫重新登录。

您错误地假设“对于每个请求都会创建一个新会话”。仅当之前未在同一服务器上创建,或者已创建但已过期时,才会创建新会话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以循环模式使用 tomcat 的相关文章

随机推荐

  • Android x86 平台上 SurfaceFlinger 进程的内存增长

    我正在使用虚拟显示器从 Android 模拟器中截取屏幕截图 我注意到表面抛射器的内存有无限增长 这一点可以在top程序 并且模拟器在一段时间后停止工作 在真正的 Android 设备上 一切正常 内存增加 5Mb 然后被清除 但在Geny
  • 实现具有多个集合的主视图。骨干网.js

    EDIT 我简陋的模型 https moqups com AlekseyFilippov pq8NvmEn我想要实现的 我定义了这样一个视图 define jquery underscore backbone text templates
  • PHP数组对象属性

    让我用我的代码解释一下我的问题 这有效 multiarray array multikey1 gt multikey2 gt array array key1 gt key2 gt key3 gt key4 gt multiarray pr
  • 未找到 Android 清单启动器

    我将启动器活动更改为与默认活动不同的活动 但是当我运行应用程序时 我无法启动该应用程序 在 logCat 中 它说该应用程序已安装 但我无法在主屏幕中看到该应用程序
  • SQL 中的分层控制范围报告,无需 Oracle CONNECT BY 语法?

    Summary 控制范围是指有多少员工向特定经理报告 直接和间接报告计数应分为各自的总数 还需要进行其他统计 包括组织中直接和间接报告的许多职位空缺 经理是指有其他职位向其报告的任何职位 需要从顶部到树中任何位置的报告路径flatten结构
  • 如何将新的 rvm 安装与现有的 ruby​​ 版本相关联?

    我的 RVM 出现问题 所以我卸载并重新安装它 事实是 我实际上尝试过 rbenv 但这对我来说不起作用 所以我尝试让 rvm 重新启动并运行 无需安装重复版本的 Ruby 我至少安装了 1 个现有版本的 Ruby ruby version
  • Google Cloud SQL 无法使用新用户连接到数据库

    我正在尝试使用 Cloud SQL 在 Google App Engine for PHP 上安装 WordPress 但是 我无法让我的 WP 数据库用户访问其数据库 查看我的 Cloud SQL 实例中的用户 未选中 root 帐户的授
  • 将数据导出到 Rails 中的 CSV [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 请建议:使用实体框架时的 SQL Server 标识与唯一标识符键

    我正在设计一个相当复杂的系统 我们主要关心的问题之一是支持 SQL Server 点对点复制 这个想法是支持多个地理上分离的节点 第二个问题是在中间层使用现代 ORM 我们的首选一直是实体框架 主要是因为开发人员喜欢使用它 他们喜欢 LiN
  • php mySQL 组 concat 和 group by

    我有两张桌子 table 1 row car id car model 1 1 CAR 1 2 2 CAR 2 3 3 CAR 3 4 4 CAR 4 table 2 row car id car features 1 1 Features
  • apache .htaccess 重写 - 我可以将其移至 httpd.conf 中吗

    下面是我的唯一代码 htaccess文件与apache 2 2 我读过 使用它会对性能产生影响 htacess如果这个可以用完就更好了httpd conf 因此我可以将其添加到httpd conf 如果是的话我会把它放在哪里 是否需要进入每
  • 如何为所有按钮设置不同的随机数?

    我的数组中有 4 个按钮 我能够生成一个随机数并将其设置为所有这些按钮 但这不是我打算做的 我真正想做的是为每个按钮设置一个随机数 例如 我可以在每个按钮中包含 18 15 10 和 11 而不是在所有四个按钮中包含 17 我如何为所有按钮
  • 实现动态滚动的算法

    创建动态滚动实现有哪些好的算法 该功能将在自定义 UI 列表上进行测试 虽然我的目标是移动设备 那些没有内置此功能的设备 但来自不同编程领域的任何算法或代码示例也可能适合 自从最初提出这个问题以来 我仔细阅读了 Pastrykit 的源代码
  • 使用 Bash 读取文件中的行并避免带有 # 的行

    我试过这个 file myfile while read r line do line continue address line 127 0 0 1 done lt file 此代码不会避免以注释开头的行 即使我没有任何意见 dnsmas
  • 如何删除通过类添加的操作

    我试图删除插件在单独的functions php 文件中注册的操作 但语法难倒了我 该插件 我无法复制 粘贴 商业插件 推断 add action 如下 class Plugin Class function add actions add
  • 如何在 Gemfile 中指定最低 Ruby 版本?

    我知道我可以在 Gemfile 中指定 Ruby 版本 如下所示 ruby 2 0 0 但是 我不想设置确切的 Ruby 版本 而是希望能够指定最低 Ruby 版本 以便我的脚本与新版本的 Ruby 保持兼容 您可以改为引发异常 raise
  • 为什么我的 sinon 存根表现得像是在调用真实函数?

    我正在尝试遵循这个例子 https www alexjamesbrown com blog development stubbing middleware testing express supertest https www alexja
  • 如何在 TypeScript 中使用 lodash.mixin

    我的团队正在评估将一些文件从 JavaScript 切换到 TypeScript 并且我们在代码中广泛使用了一些自定义 mixin 方法 从一些基本测试来看 虽然我们可以使用 mixin 按照规范创建 mixin 但我们无法在不出现编译错误
  • 如何修复 GIT 错误:HEAD:无效的引用日志条目 xxxxxxxxxxxxxxxx

    我之前遇到过错误 GIT错误 目标文件为空 然后我使用了中提到的方法如何修复 GIT 错误 目标文件为空 https stackoverflow com questions 11706215 how to fix git error obj
  • 以循环模式使用 tomcat

    我想在配置中运行我的 tomcat 实例 其中通过循环将请求提供给多个 tomcat 实例 我不想使用任何内部集群管理器 据我所知 如果每个请求都由不同的tomcat提供服务 则未知的sessionId将到达tomcat 因此它将被迫创建一