2012-04-20 51 views
0

我的web应用程序部署在多个JBoss实例的集群中。 webapp中有一个管理页面来执行某些特定于Jboss实例的操作。在负载平衡器后面打击特定的jboss实例

问题是请求被发送到负载平衡器而不是直接击中特定的单个实例。

有什么方法可以将请求引导到特定实例吗?或者至少当管理页面启动时,所有后续请求(Ajax)都将保留在开始时为页面提供服务的原始实例。

我不认为HttpSession会帮助这里。我需要针对特定​​实例,而不是维护单个客户端的状态。

谢谢。

回答

0

您正在寻找如何配置Sticky会话。

将用户会话中的所有请求始终发送到称为持久性或粘滞性的相同后端服务器。这种技术的一个重大缺点是缺乏自动故障转移功能:如果后端服务器出现故障,其每个会话信息变得不可访问,并且依赖于它的任何会话都将丢失。同样的问题通常与中央数据库服务器有关;即使Web服务器是“无状态的”而不是“粘性的”。

对特定服务器的分配可能基于用户名,客户端IP地址或随机分配。虽然这些方法有优点和缺点。

我建议请通过下面的文章来配置集群下的JBoss,而不是深入理解,除非和直到你想深入了解。

http://docs.jboss.org/jbossas/docs/Clustering_Guide/beta422/html/clustering-http-nodes.html

https://community.jboss.org/wiki/HTTPLoadbalancer