如何复制Apache的mod_jk会话数据

是否有可能复制mod_jk粘性会话信息到另一个Apache的故障转移设置?

这个问题背后的想法是设置两个apaches粘在一些tomcats前面的会议。 当一个apacs失败时,另一个应该接pipemod_jk会话信息,以便知道哪个请求服务于哪个tomcat。

我知道一个替代scheme是在tomcat级别进行会话复制,而不是使用粘性会话,但目前这是不可能的。

如果你的后端服务器(tomcat)是集群的,他们也应该复制会话。 在发生http故障的情况下,到一个http节点的连接应该转到另一个节点。 jsessionid参数应该给http / mod_jk足够的信息,以知道哪个节点要路由到(例如,jsessionid = lkj234lkj2ljk234lj.jvmRoute1将告诉mod_jk该会话是由名为jvmRoute1的工作人员)。 如果指定的worker不可用,mod_jk应该路由到下一个worker,它应该从caching中检索sesison。

即httpd服务器之间不需要复制,因为客户端cookie或包含jsessionid的URL包含路由信息。

应该不需要在apache节点之间复制任何东西,因为mod_jk的会话持久性是无状态的。

您需要在Tomcat的server.xml中设置jvmRoute,并且必须与mod_jk中的平衡器使用的jk工作者的名称相匹配。