我们有一个使用Spring和Hibernate的Java Web应用程序,并且具有相当标准的体系结构。目前,除了通过AFM / HTTP与BlazeDS后端通信的Flex GUI客户端之外,该应用程序还支持基于SOAP的客户端。今天,应用程序仅在Tomcat中运行,但是即将支持JBoss和Websphere。
我们现在要确保应用程序可以在集群环境中运行,以实现可伸缩性和故障转移。此问题主要是关于Java应用程序服务器层(而不是数据库层)。除了由Spring Security管理的登录会话信息之外,该应用程序是无状态的。
支持群集环境时需要考虑什么?
寻找有关日志记录,JNDI,配置,文件I / O,登录会话等的任何提示 - 任何事情!
答案 0 :(得分:2)
答案 1 :(得分:1)
我们需要考虑什么时候 支持集群环境?
这取决于很多事情,给出的最有用的建议几乎总是最具体的建议,但我想你在这里寻找一般的经验/建议。 : - )
虽然有点过时,this article解释了很好地集群Java EE的基础知识。
关于个人经历,在我以前的一个项目中,我们不是使用容器提供的内置会话复制/故障转移,而是为我们的应用程序实现了自己的会话功能。这样做的好处是能够以服务器/应用程序无关的方式访问用户特定数据。我们的会话存储基本上是一个由内存数据网格库Hazelcast支持的分布式哈希映射,并且运行良好。我确实写了一些关于here的文章。
群集生效的最重要部分是“测试”群集是否有效。我知道这听起来很明显,但这经常被忽视。确保进行彻底的性能和回归测试,以确保:
由于每个服务器现在都有自己的连接池,因此请确保您重新访问连接池配置,因为您的负载现在将分布在'n'个服务器实例之间。
哦,顺便说一句,祝你好运“Websphere”整合......; - )