Microsoft Azure负载平衡虚拟机中的群集Tomcat JasperServer

时间:2014-05-16 12:56:10

标签: tomcat azure cluster-computing load-balancing jasperserver

我想知道是否可以使用部署在Microsoft Azure负载平衡虚拟机中配置的群集Tomcat中的Jasperserver?

因为jasperserver UI总是因为css / theme未在上述环境中加载而崩溃。我已经解释了下面的问题,我是这个环境的新手,所以请指导我在上述环境中配置/解决这个问题。

但碧玉文件说, 必须配置负载平衡器,以便在连续会话期间始终将浏览器用户连接到同一服务器。 只有在节点被禁用时才会发生转移会话。除此要求之外,JasperReports Server可以处理任何HTTP负载 平衡器,基于硬件或软件。

问题是: 如果只有一个实例,则没有问题并且工作正常,因为它只维护一个JSESSIONID。 但是如果在集群环境中有两个tomcat,Jasper UI因为css / theme没有加载而崩溃了,所以我调查了请求和响应,涉及多个JSESSIONID,我不知道这个问题是因为负载均衡器或会话管理碧玉,所以请指导我解决这个问题。

注意:抱歉,我的英文不好,并提前感谢您阅读和回答我的问题。每个评论/想法都受到高度赞赏。

错误:

无法加载资源:服务器响应状态为404(未找到)https://domain.test/jasperserver-pro/_themes/C7141728/theme.css 无法加载资源:服务器响应状态为404(未找到)https://domain.test/jasperserver-pro/_themes/C7141728/pages.css 等...

环境: 1)具有会话复制功能的Jasperserver 5.5商业版。 2)两个apache-tomcat-6.0.36集群实例。 3)Linux机器 - Ubuntu 13.10服务器。

谢谢, Loganathan。

1 个答案:

答案 0 :(得分:0)

根据您的描述,JasperServer需要会话亲和性。 Azure负载均衡器不支持会话关联(截至今天)。这就是您的应用程序无法运行的原因。 您有以下方法来解决您的问题: 1.理想情况下,查找Jasper是否支持在进程外存储会话(例如,在数据库中)。我不了解Jasper,但在IIS中你有办法通过配置来改变它。这样,无论查询在何处,Web服务器都将在数据库中查找会话信息。 2.在应用程序前面安装带有请求路由模块的Web角色。最简单的方法是使用ARR(应用程序请求路由),如本文所述:http://coderead.wordpress.com/2011/11/11/using-azurearr-sticky-sessions-in-azure/。它肯定会奏效;但它会花费你更多(几个新的小VM)。 希望它有所帮助, 马吕斯