Weblogic会话cookie正在更改主服务器和辅助服务器

时间:2010-12-02 16:33:39

标签: weblogic

我们在2个托管服务器群集中设置了weblogic。请求通过负载均衡器(据称)已配置为粘性会话。但是,我们的请求会在受管节点之间反弹,就像未配置粘性会话一样。

我注意到的一件事是JSESSIONID cookie偶尔会交换主服务器和辅助服务器哈希值。它们应该在用户会话的整个生命周期内保持不变。

E.g。我们正在看

Request 1, JSESSIONID=ABCDEFG...!SERVER1HASH!SERVER2HASH
Request 2, JSESSIONID=ABCDEFG...!SERVER2HASH!SERVER1HASH
Request 3, JSESSIONID=ABCDEFG...!SERVER1HASH!SERVER2HASH

有时候我们甚至会看到哈希被设置为“无”,好像该群集的成员不再存在:

Request 4, JSESSIONID=ABCDEFG...!SERVER1HASH!NONE

有谁知道为什么主服务器和辅助服务器会像这样切换?

2 个答案:

答案 0 :(得分:3)

在我们过去遇到的情况中,这是Load Balancer 的问题,它没有或无法将会话识别为服务器1的粘性并将其切换到服务器2这种行为在繁忙的交通中更为明显。

有一次(大约2003年在Weblogic 6.1上),这是因为Cluster multicast address的格式为x.0.0.1

在与BEA人员进行了长时间的调查之后,发现这是问题的根源。这导致public BEA docs being updated明确说明

  

不要使用任何x.0.0.1多播   地址x在0到9之间,   包容

答案 1 :(得分:0)

当另一个Web应用程序联机时,当JSESSIONID cookie被更改(在weblogic.xml中)时,我们也遇到了这个问题,但是Apache Weblogic插件使用的是默认的WLCookieName。