Apache Sticky会话

时间:2010-09-14 16:33:01

标签: apache2 mod-jk sticky

我已经使用负载均衡器(Apache)和运行Jboss 4.2.2的三个应用程序节点配置了粘性会话。 负载均衡器使用mod_jk和设置,如本教程中所述。

http://community.jboss.org/wiki/UsingModjk12WithJBoss;jsessionid=1569CBFB7C3096C59C977CD3F7159A32

我将jumRoute设置为三个节点的node1,node2和node3,并将负载均衡器的workerlist属性设置为 节点1,节点2,节点3

本教程一直跟着到最后一点,但我没有配置useJK参数。值仍然设置为false。 粘性会话暂停,但我似乎松开会话并在我的mod_jk日志文件

中得到此错误

[error] ajp_get_reply :: jk_ajp_common.c(1926):( node1)从tomcat等待回复的超时。 Tomcat已关闭,停止或网络问题(错误= 110)

我亲自检查了登录node1的用户,然后移动到了node2。

当Apache无法从node1获得回复时,Apache会重定向到另一个节点吗?在这种情况下,useJk如何提供帮助。

---编辑01 ---

  1. 我将UseJK值更改为true,但仍然很少有用户仍然遇到突然注销,我知道这是因为服务器节点发生变化以满足用户的要求。
  2. 我还想知道节点上的流量是否会对粘性会话产生影响以及如何对其进行计数。(我在所有服务器上遇到高负荷几天)
  3. ----编辑02 ----

    1. 我还想了解控制每个工人的连接数量。
    2. 控制ajp连接器/连接的数量。
    3. apache负载均衡器的连接数与数量之间的关系 JBoss工作节点中的ajp连接。
    4. 使用Tomcat 5.5连接器的Apache 2.2.3和JBoss 4.2.2工作节点之间的最佳配置是什么。
    5. ---- edit03 -----  http://community.jboss.org/wiki/OptimalModjk12Configuration

      使用上面的文章我只是想知道Apache的最佳值 MaxClients的 ThreadPerChild

2 个答案:

答案 0 :(得分:1)

我发现this article中的以下注释很有趣。我没有试过这个,但也许对遇到同样问题的人有用。

  

如果您正在使用mod_jk并且已启用粘性会话,但您的会话未能成功,则可能无法设置域,或者您未能设置jvmRoute,或者您使用的是非标准cookie用来实现粘性的名称!

答案 1 :(得分:0)

我认为在您的worker.properties文件中,workerlist应该有loadBalancer worker而不是node1,node2& node3.It应该是这样的

worker.list=loadmanager
worker.loadmanager.balance_workers=node1,node2,node3

我希望你必须有这些正确的。

此外,您必须将UserJK arttribute设置为true,以便使用粘性会话和JvmRoute进行负载平衡。如果设置为true,则会插入JvmRouteFilter 拦截每个请求并在检测到故障转移时替换JvmRoute。

<attribute name="UseJK">true</attribute>

在deploy / jboss-web.deployer / META-INF / jboss-service.xml