问题标签 [session-replication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
426 浏览

weblogic - 如何在运行时交换服务器进出集群

我正在我的应用程序中实现会话复制。这是旧应用程序。我进行了所有更改,现在需要测试服务器开关并确认会话中的对象正确地传送到服务器列表中的另一台服务器。

我有 1 台管理服务器和 2 台托管服务器。因此集群由 2 台托管服务器组成。

在测试时,我必须始终反弹服务器并测试我的应用程序的流程。这个过程非常耗时。因此,我正在寻找任何其他方式来
在运行时将服务器移入和移出集群。我在 Oracle 支持网站上询问过,但他们说只有退回服务器的方法。

  1. 我该如何为此编写脚本?
  2. weblogic 或 wlproxy 插件配置文件中是否有有助于此切换的参数。

感谢您的帮助。

0 投票
2 回答
7325 浏览

java - Tomcat中的会话复制和集群?

我已经为我的 java 应用程序配置HttpServer2.2load balancing和。Clustering

Load Balancing工作正常,Clustering(session replication)不工作。

worker.propertiesHttpServer愿望是,

并且httpd.conf将是,

在我server.xml的 for 中Tomcat one

在我server.xml的 for 中Tomcat two

但仍然有问题。

当我关闭时Tomcat one,新请求将自动转到tomcat two. 但是Tomcat two不知道当前用户状态和他存储的应用程序会话对象。

希望我们的堆栈成员能帮助我。

好的答案绝对值得赞赏。

0 投票
0 回答
1066 浏览

java - Glassfish 会话复制不起作用

我正在努力制作一个简单的应用程序来复制它。事情是非常基本的。起初我设置了两个虚拟机来执行此操作,但没有运气,所以我想也许我会在一台机器上完成它,所以我做到了。

我在同一台机器上创建了一个包含两个实例的集群。在部署时标记了“可用性”复选框,以便它可以准确地复制会话。

我还对某些 oracle man 网页上给出的代码进行了更改:

web.xml

sun-web.xml

索引.jsp

当我将某些内容发布到会话中时,它不会在第二个实例上发生。第二天我一直在和这个作斗争,我已经没有主意了......

任何提示都会很棒。

0 投票
1 回答
891 浏览

java - Tomcat 中的会话复制 - jdbc 会话持久性 - 自定义还是库实现?

我正在实现一个多服务器 Tomcat 集群 Web 应用程序(20 多台服务器)。我想通过 jdbc 将会话持久化到公共数据库来进行会话复制。

滚动我自己的 jdbc 会话持久性是否值得我花时间 - 或者开源库中是否有现成的强大和通用的会话复制实现?

这里的假设是我正在寻找一个“管理器”来管理以下实现的持久性(到文件或数据库):

0 投票
1 回答
251 浏览

spring-security - 在 CloudFoundry 上使用 Spring Security 的 HttpSessionSecurityContextRepository 有问题吗?

我了解Spring SecurityHttpSessionSecurityContextRepository使用.HttpSession

此外,我读过 CloudFoundry 等 PaaS 出于可扩展性的目的而尝试避免会话复制。

我打算将应用程序部署到CloudFoundry PaaS

HttpSessionSecurityContextRepository在CF上使用有问题吗?

0 投票
0 回答
529 浏览

apache2 - Tomcat 集群和会话复制

我成功地为集群和会话复制配置了我的 Apache Httpd 服务器 (Apache 2) 和 Tomcat (Tomcat 7)。我通过以下两种情况进行了检查。1.所有tomcat实例都在同一台机器上 2.Tomcat实例分布在机器上。

对于第一种情况,一切正常,但对于第二种情况,我遇到了一些问题。我需要帮助。假设我在我的机器上安装了 Apache Httpd 服务器和 tomcat (TomcatA),在另一台机器上安装了第二个 tomcat (TomcatB)。除了这种情况,集群和会话复制工作正常。1. 启动 Apache Httpd 服务器。2. 启动 TOmcatA。3. 启动 TOmcatB。让我们假设第一个请求由 TomcatA 处理(我只有一个活动会话),并且该会话的所有其他请求都由 TomcatA 处理。现在,如果我关闭 TomcatA,那么该会话的所有其他下一个请求将被转发到 TomcatB,并且下一个请求会立即得到处理。现在如果我启动 TomcatA(我确保 TomcatA 已正确启动),那么所有请求仍由 TomcatB 处理。如果现在我关闭 TomcatB,那么我会得到 '

为什么我必须等待 60 秒,因为 TomcatA 已经启动,是否有任何配置设置可以减少该时间。

场景 1 不会发生这种情况(所有 tomcat 实例都在同一台机器上)。无论从集群中添加或删除 Tomcat 实例,所有请求都会立即顺利处理。

0 投票
6 回答
30239 浏览

java - Tomcat 的集群/会话复制没有正确复制

我正在本地机器上的 Tomcat 7 上设置集群/复制,以评估它以与我的环境/代码库一起使用。

设置

我在不同端口上运行的兄弟目录中有两个相同的 tomcat 服务器。我有 httpd 在其他两个端口上侦听并作为 VirtualHosts 连接到两个 tomcat 实例。我可以在配置的端口上访问两个环境并与之交互;一切都按预期工作。

tomcat 服务器在 server.xml 中启用了这样的集群:

我将可分发标签添加到 web.xml 的开头:

什么工作

当服务器启动时,它们会记录

当第二个服务器启动时,第一个记录

当一个关闭时,另一个记录

所以我知道他们互相了解。

最后,当我在 jconsole 中使用 Cluster/Operations MBean 尝试将属性“foo”设置为“bar”时,jconsole 报告“方法成功调用”,并且服务器记录

我不太担心这个错误。主要用于演示 setProperty 创建日志语句。

什么不工作

据我所知,我的应用程序中没有复制任何会话信息。

tomcat 管理器只列出在它监控的服务器上启动的会话,而不是集群中的另一个。

我的印象是,每当应用程序调用 HttpSession.setAttribute 时,该属性应该被复制到其他集群节点,并且我希望会记录一些记录。我的应用程序包括这一行:

其中BillingInfo 是一个Serializable 类,它只包含一个字段,一个关于账单信息的HashMap。

当这个或任何其他线路处理时,不会写入任何日志语句,而且我没有看到任何证据表明会话信息实际上正在被共享。

欢迎任何建议或进一步的问题。

0 投票
0 回答
483 浏览

tomcat - 没有多播的tomcat 7上的会话复制

是否可以在完全独立的环境中运行的 tomcat 实例之间启用复制会话,而不使用多播?

  1. 我已经检查了基于 JDBC 的会话管理器,但是它只保存交换的会话,因此缺少新的会话。
  2. https://code.google.com/p/memcached-session-manager/对我不起作用(例如,当在同一个 tomcat 上有多个应用程序时,它会混淆 cookie)并且它会在一个 tomcat 重新启动后立即从 memcache 中刷新会话. 我认为这是最好的解决方案,但我想修复需要时间。

有没有不使用多播的替代方法?性能不相关。

0 投票
1 回答
371 浏览

tomcat - 更多并发用户的响应时间


我曾尝试在网上搜索,但无济于事。在为我的项目实施时,我有两个问题..

1.为了迎合更多并发用户(~300),更多的Tomcat服务器是否有助于减少响应时间?

2.当我对50个并发用户进行负载测试时,粘性会话和会话复制的响应时间差异非常明显。为什么当我对更多并发用户(例如 300)进行负载测试时,粘性会话和会话复制之间的响应时间差异变得如此微不足道或可以忽略不计?

感谢您帮助我回答问题.. 非常感谢!

0 投票
1 回答
447 浏览

session - 会话复制\tomcat集群的替代方案

我们有 3 个具有相同 Web 应用程序的 Tomcat,使用相同的数据库。

  • 我们想使用非粘性会话。

  • 这意味着我们将不得不在tomcat(集群?)之间共享会话(复制)

  • 我们不喜欢 delta-manger 的想法,因为它是一个具有性能成本的全对全复制。

  • 但是我们也不太喜欢备份管理器(仍然是多个副本)

我的问题是:

是否可以定义一个将成为“会话管理器”的单个 tomcat,而所有其他 tomcat 不会自己保持会话?

这样就不需要广播会话...