问题标签 [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 投票
0 回答
66 浏览

load-balancing - 游戏/应用服务器中内存变量的状态复制

负载均衡器后面的服务器集群如何实现在客户端/服务器会话期间初始化的变量的复制?例如,当客户端(比方说游戏客户端)首先使用负载均衡器启动会话,将请求转发到可用服务器,该服务器如何将该会话及其内存状态复制到集群中的其他服务器?

或者是否没有复制已建立会话的内存变量,并且仅在数据库层中复制会话文件..这不会考虑服务器必须保留在内存中的所有变量。

在我看来,想要在多人游戏中实现同步,服务器集群必须将它们的所有状态复制到其他服务器,但这是否意味着复制它们所有的内存变量?

0 投票
0 回答
117 浏览

spring - 是否可以使用 jboss 与非 EJB 对象(如 spring bean)进行会话复制

我们有一个企业网络应用程序。UI 建立在 flex 之上,中间层使用 spring bean 定义,在 DAO 层我们使用 ibatis。是否可以使用 jboss 在此 Web 应用程序的集群节点内复制会话?

我浏览了 Jboss 文档,他们只是说 EJB 可以使用 jboss 进行会话复制,他们没有非 ejb 对象的文档

我使用我的 Web 应用程序为 Jboss 配置了会话复制,并且在服务日志中的所有位置都看到了以下日志。

0 投票
1 回答
679 浏览

websphere - 如何验证内存到内存会话复制是否正常工作?

我有一个 WAS 8.5 集群,有 2 个成员,配置为使用 MTM 会话复制。

在复制域上,请求超时为 5 秒,副本数设置为整​​个域。

在两个成员服务器上,内存到内存的关联模式都是客户端和服务器。

当我关闭为请求提供服务的应用程序服务器(比如 A)时,mod 代理平衡器故障转移到下一个应用程序服务器(比如 B)。但似乎在 A 上创建的会话在 B 中不可用。

有什么方法可以验证会话是否正在被复制?

我尝试了诊断跟踪日志,但一无所获。

0 投票
1 回答
426 浏览

java - 如何为 WSO2 API Manager 1.8 启用会话复制?

我正在使用 2 个 WSO2 API Manager 1.8 实例。每个实例都部署在一个 Ubuntu 实例上,并带有一个 HAProxy 负载均衡器。

我想要做的是为 API Manager 1 和 2 实例启用会话复制,这样一旦用户登录到 API Manager 1,特定用户也将自动登录到 API Manager 2(会话将在两个实例中复制)。否则当用户登录到一个 API Manager 实例并且 HAProxy 将用户重定向到另一个 API Manager 实例时会出现问题。

有 WSO2 Application Server 的指南,但没有 API Manager 的指南。

我怎样才能完成它?

0 投票
1 回答
1887 浏览

java - 为什么 JBoss EAP 6.4 使用 http 会话复制机制加载会话失败?

我在 Windows 的 JBoss EAP 6.1 中成功地使用了会话复制。但后来我改用 JBoss EAP 6.4 在 ubuntu 中进行开发测试,同样的代码停止工作。

没什么,我只是添加了<distributable/>标签,并没有serialVersionUID向序列化类添加任何手动值Logged.java(它保持注释以忽略警告)。

我将类的实例存储在 http 会话中,使用jboss-cli.sh --connect command=:shutdownNOPAUSE=true环境变量)关闭服务器,然后再次启动服务器。服务器启动后,当我再次尝试访问会话时,我无法检索类实例,并且控制台中出现以下错误:

我不知道从哪里开始研究,因为我不了解 JBoss 的内部结构,除了在网络上广泛记录的内容。在这种情况下,记录的是您只需要添加<distributable/>到 web.xml 中,然后会话复制将“神奇地”开始工作。当然,您需要将类实例声明为可序列化才能被序列化,但除此之外,我看不出为什么它不能在 Ubuntu 的 JBoss EAP 6.4 中运行。

lsb_release -a

java -version

0 投票
0 回答
207 浏览

java - 会话复制在 Tomcat 5.5 中不起作用

负载均衡器中有 4 台服务器,并且正在使用 Tomcat 5.5。在设置 Tomcat 集群时已经涵盖了以下几点,但会话复制仍然没有正确发生。

  1. 会话属性已实现java.io.Serializable
  2. 取消注释Cluster元素,Valve(ReplicationValve)server.xml 中的元素
  3. Web.xml<distributable/>元素
  4. <Engine name="Catalina" jvmRoute="node01"> 在所有四个服务器中设置为唯一值。
  5. Loadbalancer配置为粘性会话模式。

    /li>
0 投票
1 回答
1588 浏览

spring - com.hazelcast.nio.serialization.HazelcastSerializationException:java.io.NotSerializableException:java.util.WeakHashMap

我使用 Hazelcast 进行带有弹簧安全性的会话复制。我正在创建会话复制和集群使用 Wildfly。但是春季安全日志记录中的问题。当我登录 node1 并传递 node2 时,我应该重新登录!为了解决这个问题,我使用了 Hazelcast,但遇到了一个问题

我的依赖:

web.xml

应用程序上下文.xml

安全上下文.xml

堆栈跟踪:

我无法摆脱这些错误。任何人都可以提出任何建议吗?

0 投票
1 回答
419 浏览

authentication - Jetty 在哪里存储有关经过身份验证的用户的信息?

我阅读了 Jetty 页面上的文档:http: //www.eclipse.org/jetty/documentation/9.2.6.v20141205/index.html

但我仍然不知道 Jetty 在哪里存储有关经过身份验证的用户的信息。尽管我需要知道谁登录了,但我目前正在编写状态较少的应用程序。

我是否需要通过数据库设置会话复制,或者可能有一种更智能的方法来执行此操作,例如存储在 cookie 中的会话: http ://httpd.apache.org/docs/trunk/mod/mod_session_cookie.html

0 投票
0 回答
296 浏览

java - 会话复制期间在 Web Flow 对话上引发 ConcurrentModificationException

我们的 Web 应用程序在 JBoss AS7 集群上运行。我们还使用 Spring Web Flow(版本 2.4.0.RELEASE)进行流控制。然后,我们在会话复制期间面临一些问题。他们是:

  1. 由于会话复制,存储在会话上的对象将被序列化。但是,该类org.springframework.webflow.context.servlet.HttpServletRequestParameterMap 不可序列化NotSerializableException可能会被抛出。
  2. Spring Web Flow 使用 session 将对话数据存储在流上。此类org.springframework.webflow.conversation.impl.ConversationContainer将处理从会话中放入/检索的会话数据。我们发现它使用java.util.ArrayListjava.util.HashMap存储会话数据。因此,ConcurrentModificationException可能会在会话复制和流控制处理同时处理时抛出。

是否有人遇到与我们相同或相似的问题?而且,我们可以采取任何解决方案/替代方案来解决它们吗?

谢谢

0 投票
0 回答
82 浏览

tomcat - Tomcat 会话复制。FarmWarDeployer 与否?

我正在使用会话复制设置集群的 tomcat 环境。我需要弄清楚如何在不停机且用户不丢失会话的情况下部署更新。

我一直在研究使用内置的部署机制(FarmWarDeployer),但我还没有找到关于它如何工作的好的文档。

我正在考虑使用部署在一个 tomcat 上的脚本,然后等待/休眠一段时间,然后部署在下一个 tomcat 上。但我必须确保每个会话都已复制到新启动的 tomcat 中。

假设我们在运行的 tomcat 上有 500 个活动会话,然后重新启动集群中的另一个 tomcat,将这些会话复制到新启动的 tomcat 是一项耗时的工作吗?

关于 FarmWarDeployer。它会一次在一个 Tomcat 上部署更新吗?