7

我在码头服务器上有一个用 spring 编写的 Web 应用程序。由于负载平衡,我必须在 Web 服务器上复制 http 会话和 spring-security 上下文。

任何人都可以指出一个工作示例如何使这成为可能吗?

mvc 控制器是 spring-security-oauth2 的一部分,因此我影响它们的能力有限,而码头是我们环境的先决条件。对于大部分数据和缓存,我们将使用 infinispan。

我找不到任何当前信息如何 tu 与 spring 集群,所以我很感激每一个帮助。

4

2 回答 2

9
  1. 什么是无状态的,自动扩展(就像大多数 Spring bean 和控制器一样)

  2. 共享的内容,必须复制或集群中的所有实例必须共享

    1. 必须复制 HTTP 会话。如果是,那么 Spring 安全性(在会话中存储安全上下文将正常工作

    2. 数据库可以正常工作——你要么只使用一个,要么也复制它

    3. Infinispan 应该处理内存缓存的复制

如果您只将Serializable项目存储在 HTTP 会话和缓存中,那么集群您的应用程序应该可以正常工作。注意同步代码(应该分发锁吗?)和有状态的 bean。

也可以看看

于 2012-10-02T19:57:29.277 回答
4

虽然我迟到了,但我认为春季课程可能是一个潜在的候选人。在另一个 Stackoverflow 问题中查看解决方案。

通过 Tomcat/Jetty 使用 Spring 会话和 Hazelcast 进行会话复制

春季会议文档

于 2015-03-06T16:25:25.143 回答