我如何集群弹簧mvc应用程序?

时间:2012-10-02 19:51:38

标签: spring-mvc spring-security distributed-computing

我在jetty服务器上用spring编写了一个Web应用程序。因为负载平衡,我必须通过Web服务器复制http会话和spring-security上下文。

有人能指出一个工作实例如何使这成为可能吗?

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

我找不到任何关于tu群集弹簧的当前信息,所以我很感激每一个帮助。

2 个答案:

答案 0 :(得分:8)

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

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

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

    2. 数据库将起作用 - 您只需使用一个或复制它

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

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

    另见

答案 1 :(得分:3)

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

Session replication with Spring session and Hazelcast over Tomcat/Jetty

Spring-session Docs