我已将Apache配置为对两个WebLogic节点进行负载均衡(使用mod_weblogic), 但是所有请求都被转发到第二个节点。
这里我添加到httpd.conf:
LoadModule weblogic_module modules/mod_wl_22.so
<IfModule mod_weblogic.c>
MatchExpression /soa-infra WebLogicCluster=node1.domain.com:8001,node2.domain.com:8001
</IfModule>
<Location /soa-infra>
SetHandler weblogic-handler
WebLogicCluster node1.domain.com:8001,node2.domain.com:8001
</Location>
我试过没有效果:
1) swap node1.domain.com and node2.domain.com
2) change balancing algorithm in WebLogic Administration Console
一些澄清: 1.客户端正在贴伏阿帕奇 - 我正在测试自己。 2.我看到apache仅在客户端/我的请求之后创建连接,并且它仅连接到第二个节点(正在执行它)。 3.是的,两个节点都在本地网络中并且可以访问。 我发现有趣的事情: 如果我从httpd.conf中删除所有的行除了用于加载mod_weblogic和重启apache的行,那么我无法通过load-balancer访问 - 所以balancer实际上是在使用我的配置行, 但如果我从列表中删除第二个节点,那么负载均衡器仍然会重定向第二个节点,而不是仅重定向一个列出的第一个节点。
看起来我发现了问题!
我在日志中看到几个请求后:
Wed Jan 25 19:56:49 2012 <480013275070093> Trying a pooled connection for '192.168.0.111/8001/8001'
Wed Jan 25 19:56:49 2012 <480013275070093> getPooledConn: No more connections in the pool for Host[192.168.0.111] Port[8001] SecurePort[8001]
Wed Jan 25 19:56:49 2012 <480013275070093> general list: trying connect to '192.168.0.111'/8001/8001 at line 2724 for '/soa-infra/services/partition/my_composite/my_composite_client_ep'
Wed Jan 25 19:57:05 2012 <480013275070256> Trying to locate Primary or Secondary using SrvrInfo with JVMID: -76285319
Wed Jan 25 19:57:05 2012 <480013275070256> getPreferredFromCookie: Found Primary 192.168.0.112:8001:0
Wed Jan 25 19:57:05 2012 <480013275070256> getPreferredFromCookie: Found 1 servers
192.168.0.111是第一个节点,192.168.0.112 - 秒。
有什么建议吗?
答案 0 :(得分:0)
Hdrs from WLS:[X-WebLogic-Cluster-List]=[-76285319!node2.domain.com!8001!-1]
node2中的WebLogic服务器不知道群集的其余部分。请确保您的群集正常工作。
如果使用单播消息传递,则可以检查组是否已创建。