问题标签 [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.
wso2 - WSO2 Integrator 6.1.1 HTTP 会话复制:不可序列化属性 CarbonAuthenticator
我在负载均衡器后面有 2 个 WSO2 Enterprise Integrator。
我想激活 tomcat http 会话复制,并遵循 WSO2 文档。看起来很简单:添加
在 web.xml 中。
糟糕的是,WSO2 似乎向会话添加了一些不可序列化的属性,从而导致复制失败。当我尝试连接到 carbon 应用程序时,出现以下异常:
精度:我尝试了全新的 WSO2EI 6.1.1 安装,只进行了前面描述的修改。
我还必须在 wso2/lib/endorsed 上手动添加 tomcat-juli-7.0.75.jar 和 tomcat-trives-7.0.75.jar 以避免 ClassNotFoundException。
我检查了 WSO2 源代码,发现 CarbonAuthenticator 类实际上是不可序列化的。
是否有人已经成功配置了 http 会话复制?
提前致谢,
问候,
洛朗
java - 使用 Spring Boot 进行 Hazelcast 会话复制
我正在关注 Spring Boot APP 中基于 Hazelcast 的会话复制的文档。
http://docs.spring.io/spring-session/docs/current/reference/html5/guides/hazelcast-spring.html
当从 Spring Boot 创建本地 Hazelcast 节点时,该代码工作正常但是我需要一个 Hazelcast 客户端代码来连接到独立集群并进行复制并将会话 ID 作为“x-auth-header”字段中的标头返回.
客户端代码是这样的
我可以让它与 WEB 过滤器一起工作,但它将值存储为 cookie,我需要的是标题策略才能工作。
我找不到任何文档或帮助使用 Hazelcast 客户端来实现它。有人可以指导我如何做到这一点。
谢谢阿拉文德
java - 如何在 grails 3+ 中启用 webapp 作为可分发的
由于没有 web.xml,如何使 webapp 在 grails 3+ 中可分发?
spring-mvc - Tomcat 7 集群 - 会话复制不适用于 Spring Boot 和 Spring Security
我对我们的 Tomcat 会话复制配置有疑问。
在我们公司,我们在 Apache HTTPD 2.4.6 后面使用 Tomcat 7 servlet 容器,该容器配置为使用 mod_jk/tomcat-connectors 1.2.37(在 CentOS 7 x64 上运行)进行负载平衡。会话复制与 Tomcat 管理器一起工作,这意味着如果我们在登录 HTML 管理器后杀死我们的一个 Tomcat,我们不需要再次登录(我们已将其设置<distributable />
在 web.xml 中。我们可以看到服务器成功地从 catalina.log 中发现彼此:
但是,当我们部署一个示例 Spring Boot 应用程序并杀死我们验证用户的 Tomcat 时,登录提示再次出现。长期以来,我们一直在努力解决这个问题,这让我们发疯。我们缺少什么?配置如下:
Tomcat/context.xml:
Tomcat/server.xml:
另一个 server.xml 类似,切换了 .77 和 .79 IP 地址(当然也更改了 uniqueId)。
SpringBootApp/WebSecurityConfig.java
任何帮助将不胜感激。
java - Tomcat6 Web 集群的 P2P Hazelcast 会话复制 - 会话同步失败
我相信我在负载平衡方面或在 tomcat 中缺少一些配置,如果有人可以提供帮助并提供解决方案,那就太好了。
我想做什么?
- 参考本指南为 tomcat6 设置两个具有 P2P Hazelcast 会话复制的 tomcat 实例
- 我已将 hazelcast-all-.jar、hazelcast-tomcat-sessionmanager-.jar 和 hazelcast.xml 放在文件夹 $CATALINA_HOME/lib/ 中
- 更新了监听器和上下文配置,如下所示
- 更新了 Tomcat 故障转移和 jvmRoute 参数,如下所示
- 到目前为止,我能够调出连接到彼此 hazelcast 实例的 tomcat 实例,我在 tomcat 日志中看到了这一点。
- 用户连接到负载平衡器并被路由到平衡器成员 - 这里没有问题。
- 但是,当我将其中一个 tomcat 实例关闭以测试故障转移并确保连接到 tom 实例的用户能够继续使用同一会话处理实例时,而无需再次登录。但我相信负载均衡器似乎正在创建一个新会话并强制用户再次登录以建立与 cat 实例的会话。我怀疑这一点,但不确定。
- 或者会话没有在两个 hazelcast 实例中被复制和同步?- 这正在发生
- 我们有可以监控 hazelcast 会话的客户端吗?- 现在我愿意
我确实提到了这个问题,它指的是设置 hazelcast.sessionId 而不是 JSESSIONID 但没有提供有关如何设置的任何细节。
版本 -
负载均衡器配置
汤姆实例 - server.xml
汤姆实例 - context.xml
猫实例 - server.xml
猫实例 - context.xml
更新:
我相信以下是相同的问题我有会话同步失败
cloud-foundry - 缩放应用程序实例后 Cloud Foundry 应用程序实例之间的会话复制问题
我有 Spring Boot 应用程序,它与 ClearDb(MySQL) 和 Redis Cloud 绑定作为后备存储。我的应用程序将创建一个简单的帐户并存储在 MySQL 中。我曾经spring-session-data-redis
将会话属性存储HttpSession
到 Redis 云中。我可以将所有会话属性存储到 Redis Cloud 中。
在manifest.yml
文件中,我提到instances
了 2。一旦 App 开始使用 2 个实例,会话复制就会在应用程序的实例之间工作。当我将进程扩展到应用程序的实例到 3 时。新创建的实例开始接收流量,但是当它尝试获取会话信息时,它抛出并显示带有错误消息的NullPointerException
响应代码为. 似乎会话复制不适用于第三个应用程序的实例,并且会话复制不适用于扩展应用程序的实例。500
Internal Server Error
我该如何解决这个问题?非常感谢任何帮助!
apache - 没有可序列化对象的 Tomcat 集群
我已经在 Apache Httpd 服务器后面建立了 Tomcat 集群,有 2 个节点。我在Tomcat 集群中阅读了 Tomcat 文档,第一个要求是:“所有会话属性都必须实现 java.io.Serializable”。我已经完成了会话复制,故障转移机制似乎有效。现在我正在使用 Web 应用程序开发框架,似乎存储在会话中的对象类没有实现可序列化。我正在寻找一种解决方法以更简单的方式解决此问题。我已经阅读了很多问题/答案,但到目前为止还没有解决方案。任何想法?Tomcat 版本 7.0.76。谢谢你。
wildfly - Wildfly 12 - HttpSession 复制是否仅在配置了事务时才有效?
我正在尝试使用会话复制但没有锁定争用。
所以我像这样设置了 infinispan “web” 缓存容器:
但是会话没有跨集群复制。
仅当我使用mode="BATCH"
默认事务锁定时它才会复制PESSIMISTIC
。但是这种策略在长请求(大约 2~3 秒)和大量并发访问(一个请求锁定其他请求,因为第一个请求拥有会话锁)时表现不佳。
有没有办法在集群中复制会话而不使用事务,因此没有会话锁定?
谢谢!
spring-boot - 是否可以在 Spring Boot 中为嵌入式 tomcat 服务器打开会话复制?
当你有一个 tomcat 服务器时如何做到这一点很清楚,但是如果该服务器是嵌入的,例如当你使用 bootJAR 直接从 .jar 文件构建和运行一个 tomcat webapp 时怎么办?
wildfly - 未使用 Wildfly 15+ 使用 invalidation-cache 和 jdbc-store 自动创建 Infinispan 缓存表
我正在尝试将jdbc-store
类型用于 Wildfly 15+ 中的会话缓存。
我运行以下命令来配置我的standalone-full-ha.xml
配置文件:
...在配置文件中产生以下内容:
看起来我已经使用 JBoss CLI 正确配置了缓存,但是当集群实例启动时,即使一切正常启动,会话存储表也不会在数据库中创建。
我的问题是,我应该在<table/>
我刚刚忽略的元素中设置一些东西吗?查看文档,我没有看到任何必需的属性,或任何关于自动创建的内容。
我已经查看了如何在 Wildfly 11 中实现此目的的先前示例string-keyed-jdbc-store
,但该元素似乎不再有效。我知道 Infinispan文档提到了元素create-on-start
上的属性string-keyed-table
,但是这种配置在 Wildfly 中是如此的不同,以至于它完全没有帮助。